تتيح لك رسائل مجموعة الأجهزة إضافة أجهزة متعددة إلى مجموعة واحدة. هذا مشابه لرسائل الموضوع ، ولكنه يتضمن مصادقة لضمان أن عضوية المجموعة تتم إدارتها بواسطة الخوادم الخاصة بك فقط. على سبيل المثال ، إذا كنت ترغب في إرسال رسائل مختلفة إلى طرازات هواتف مختلفة ، يمكن لخوادمك إضافة / إزالة التسجيلات إلى المجموعات المناسبة وإرسال الرسالة المناسبة إلى كل مجموعة. تختلف مراسلة مجموعة الأجهزة عن رسائل الموضوع من حيث أنها تتضمن إدارة مجموعات الأجهزة من الخوادم بدلاً من إدارة مجموعات الأجهزة مباشرة من داخل التطبيق الخاص بك.
الحد الأقصى لعدد الأعضاء المسموح به لمفتاح الإعلام هو 20.
إدارة مجموعات الأجهزة
قبل إرسال الرسائل إلى مجموعة أجهزة ، يجب عليك:
احصل على رموز التسجيل لكل جهاز تريد إضافته إلى المجموعة.
قم بإنشاء
notification_key
، الذي يحدد مجموعة الأجهزة عن طريق تعيين مجموعة معينة (عادةً مستخدم) لجميع رموز التسجيل المرتبطة بالمجموعة. يمكنك إنشاء مفاتيح إعلام على خادم التطبيق.
يتم تنفيذ الإدارة الأساسية لمجموعات الأجهزة - إنشاء المجموعات وإزالتها وإضافة الأجهزة أو إزالتها - عبر واجهة برمجة تطبيقات HTTP v1 ، باستخدام الرموز المميزة قصيرة العمر للسماح بإرسال الطلبات . راجع مفاتيح إدارة مجموعة الأجهزة للحصول على قائمة بالمفاتيح المدعومة.
إدارة مجموعات الأجهزة على خادم التطبيق
إنشاء مجموعة أجهزة
لإنشاء مجموعة أجهزة ، أرسل طلب POST الذي يوفر اسمًا للمجموعة وقائمة برموز التسجيل المميزة للأجهزة. تُعيد FCM notification_key
جديد يمثل مجموعة الأجهزة.
طلب HTTP POST
أرسل طلبًا مثل ما يلي إلى https://fcm.googleapis.com/fcm/notification
:
https://fcm.googleapis.com/fcm/notification Content-Type:application/json access_token_auth: true Authorization: Bearer ya29.ElqKBGN2Ri_Uz...HnS_uNreA project_id:SENDER_ID { "operation": "create", "notification_key_name": "appUser-Chris", "registration_ids": ["bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...", "cR1rjyj4_Kc:APA91bGusqbypSuMdsh7jSNrW4nzsM...", ... ]
notification_key_name
هو اسم أو معرف (على سبيل المثال ، يمكن أن يكون اسم مستخدم) فريد لمجموعة معينة. إن notification_key_name
و notification_key
فريدان لمجموعة من الرموز المميزة للتسجيل. من المهم أن يكون notification_key_name
فريدًا لكل تطبيق عميل إذا كان لديك العديد من تطبيقات العميل لنفس معرف المرسل . هذا يضمن أن الرسائل تذهب فقط إلى التطبيق المستهدف المقصود.
تنسيق الاستجابة
يُرجع الطلب الناجح notification_key
مثل ما يلي:
{ "notification_key": "APA91bGHXQBB...9QgnYOEURwm0I3lmyqzk2TXQ" }
notification_key
notification_key_name
لاستخدامهما في العمليات اللاحقة.
استرداد مفتاح الإخطار
إذا كنت بحاجة إلى استرداد مفتاح إعلام موجود ، فاستخدم notification_key_name
في طلب GET كما هو موضح:
https://fcm.googleapis.com/fcm/notification?notification_key_name=appUser-Chris Content-Type:application/json access_token_auth: true Authorization: Bearer ya29.ElqKBGN2Ri_Uz...HnS_uNreA project_id:SENDER_ID {}
لكل طلب GET لاسم مفتاح إعلام معين ، يقوم الخادم بإرجاع سلسلة فريدة مشفرة. على الرغم من أن كل سلسلة قد تبدو مفتاحًا مختلفًا ، إلا أنها في الواقع قيمة صالحة لـ "مفتاح_الإعلام".
إضافة وإزالة الأجهزة من مجموعة أجهزة
لإضافة أو إزالة أجهزة من مجموعة موجودة ، أرسل طلب POST مع تعيين معلمة operation
add
أو remove
، وقم بتوفير رموز التسجيل للإضافة أو الإزالة.
طلب HTTP POST
على سبيل المثال ، لإضافة جهاز برمز التسجيل bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...
إلى appUser-Chris
، يمكنك إرسال هذا الطلب:
{
"operation": "add",
"notification_key_name": "appUser-Chris",
"notification_key": "APA91bGHXQBB...9QgnYOEURwm0I3lmyqzk2TXQ",
"registration_ids": ["bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1..."]
}
تنسيق الاستجابة
طلب ناجح لإضافة جهاز أو إزالته يعيد notification_key
يلي:
{ "notification_key": "APA91bGHXQBB...9QgnYOEURwm0I3lmyqzk2TXQ" }
مفاتيح إدارة مجموعة الأجهزة
يسرد الجدول التالي مفاتيح إنشاء مجموعات الأجهزة وإضافة الأعضاء وإزالتهم.
الجدول 10. مفاتيح إدارة مجموعة الأجهزة.
معامل | إستعمال | وصف |
---|---|---|
operation | مطلوب ، سلسلة | عملية التشغيل. القيم الصالحة هي create add remove . |
notification_key_name | مطلوب ، سلسلة | الاسم المعرف من قبل المستخدم لمجموعة الأجهزة المراد إنشاؤها أو تعديلها. |
notification_key | مطلوب (باستثناء عملية create السلسلة | معرّف فريد لمجموعة الأجهزة. يتم إرجاع هذه القيمة في الاستجابة لعملية create ناجحة ، وهي مطلوبة لجميع العمليات اللاحقة على مجموعة الأجهزة. |
registration_ids | مطلوب ، مصفوفة من السلاسل | الرموز المميزة للجهاز المراد إضافتها أو إزالتها. إذا قمت بإزالة جميع رموز التسجيل المميزة الموجودة من مجموعة أجهزة ، فإن FCM يحذف مجموعة الأجهزة. |
إرسال رسائل المتلقين للمعلومات إلى مجموعات الأجهزة
لإرسال رسائل إلى مجموعات الأجهزة ، استخدم HTTP v1 API. إذا كنت ترسل حاليًا إلى مجموعات الأجهزة باستخدام واجهات برمجة تطبيقات الإرسال القديمة المتوقفة لـ HTTP أو XMPP ، أو أي من الإصدارات الأقدم من Firebase Admin SDK لـ Node.js استنادًا إلى البروتوكولات القديمة ، نوصي بشدة بالترحيل إلى HTTP v1 API في أقرب فرصة. سيتم تعطيل واجهات برمجة التطبيقات للإرسال القديمة وإزالتها في يونيو 2024.
إرسال الرسائل إلى مجموعة أجهزة يشبه إلى حد بعيد إرسال الرسائل إلى جهاز فردي ، باستخدام نفس الطريقة للسماح بإرسال الطلبات . قم بتعيين حقل token
على مفتاح إعلام المجموعة:
استراحة
POST https://fcm.googleapis.com/v1/projects/myproject-b5ae1/messages:send HTTP/1.1
Content-Type: application/json
Authorization: Bearer ya29.ElqKBGN2Ri_Uz...HnS_uNreA
{
"message":{
"token":"APA91bGHXQBB...9QgnYOEURwm0I3lmyqzk2TXQ",
"data":{
"hello": "This is a Firebase Cloud Messaging device group message!"
}
}
}
الأمر cURL
curl -X POST -H "Authorization: Bearer ya29.ElqKBGN2Ri_Uz...HnS_uNreA" -H "Content-Type: application/json" -d '{
"message":{
"data":{
"hello": "This is a Firebase Cloud Messaging device group message!"
},
"token":"APA91bGHXQBB...9QgnYOEURwm0I3lmyqzk2TXQ"
}}' https://fcm.googleapis.com/v1/projects/myproject-b5ae1/messages:send