تتيح لك ميزة المراسلة ضمن مجموعة الأجهزة إضافة أجهزة متعددة إلى مجموعة واحدة. يشبه ذلك المراسلة حسب المواضيع، ولكنّه يتضمّن مصادقة لضمان أنّه لا تدير خوادمك سوى عضوية المجموعة. على سبيل المثال، إذا كنت تريد إرسال رسائل مختلفة إلى طرازات هواتف مختلفة، ويمكن للخوادم إضافة/إزالة عمليات التسجيل إلى المجموعات المناسبة وإرسال الرسالة المناسبة إلى المجموعة. تختلف ميزة المراسلة ضمن مجموعة الأجهزة عن المراسلة حسب المواضيع من حيث أنّها تتضمّن إدارة مجموعات الأجهزة من خوادمك بدلاً من الوصول إليها مباشرةً من داخل التطبيق.
الحد الأقصى لعدد الأعضاء المسموح به لمفتاح الإشعار هو 20 عضوًا.
إدارة مجموعات الأجهزة
قبل إرسال الرسائل إلى مجموعة أجهزة، عليك تنفيذ ما يلي:
-
احصل على الرموز المميّزة للتسجيل لكل جهاز تريد إضافته إلى المجموعة.
-
إنشاء
notification_key
، الذي يحدد مجموعة الأجهزة من خلال ربط مجموعة معيّنة (عادةً ما تكون مستخدم) إلى جميع رموز التسجيل المميَّزة المرتبطة بالمجموعة. يمكنك إنشاء مفاتيح الإشعارات في خادم التطبيقات.
تتم الإدارة الأساسية لمجموعات الأجهزة، أي إنشاء المجموعات وإزالتها، وإضافة الأجهزة أو إزالتها، من خلال واجهة برمجة التطبيقات HTTP v1 API، باستخدام الرموز المميّزة ذات المدة القصيرة لتفويض طلبات الإرسال. عرض مفاتيح إدارة مجموعة الأجهزة للاطّلاع على قائمة بالمفاتيح المتوافقة
إدارة مجموعات الأجهزة على خادم التطبيقات
إنشاء مجموعة أجهزة
لإنشاء مجموعة أجهزة، أرسِل طلب 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" }
مفاتيح إدارة مجموعة الأجهزة
يسرد الجدول التالي المفاتيح لإنشاء مجموعات الأجهزة وإضافة وإزالة الأعضاء.
المَعلمة | الاستخدام | الوصف |
---|---|---|
operation |
مطلوب، سلسلة | العملية المطلوب تنفيذها. القيم الصالحة هي create
add وremove . |
notification_key_name |
مطلوب، سلسلة | الاسم الذي حدّده المستخدم لمجموعة الأجهزة المطلوب إنشاؤها أو تعديلها. |
notification_key |
مطلوبة (باستثناء عملية create ، سلسلة |
المعرّف الفريد لمجموعة الأجهزة يتم عرض هذه القيمة
في الاستجابة لنجاح عملية create
، وهي
مطلوبة لجميع العمليات اللاحقة على مجموعة الأجهزة. |
registration_ids |
مطلوب، مصفوفة من السلاسل | رموز الأجهزة التي تريد إضافتها أو إزالتها إذا أزلت جميع العناصر الحالية الرموز المميّزة للتسجيل من مجموعة أجهزة، تحذف خدمة "المراسلة عبر السحابة الإلكترونية من Firebase" مجموعة الأجهزة. |
إرسال الرسائل إلى مجموعات الأجهزة
لإرسال رسائل إلى مجموعات أجهزة، استخدِم HTTP v1 API. إذا كنت حاليًا الإرسال إلى مجموعات الأجهزة باستخدام واجهات برمجة تطبيقات الإرسال القديمة المتوقّفة نهائيًا أو HTTP أو XMPP أو أي من الإصدارات الأقدم Firebase Admin SDK لنظام Node.js استنادًا إلى البروتوكولات القديمة، ننصحك بشدة نقل البيانات إلى HTTP v1 API في أقرب وقت ممكن. واجهات برمجة تطبيقات الإرسال القديمة في يونيو 2024.
إنّ إرسال الرسائل إلى مجموعة أجهزة يشبه إلى حد كبير إرسال الرسائل
الرسائل إلى جهاز فردي، باستخدام الطريقة نفسها
تفويض طلبات الإرسال. ضبط token
إلى مفتاح إشعار المجموعة:
REST
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
إرسال الرسائل الرئيسية إلى مجموعات الأجهزة
يمكن لتطبيقات العملاء إرسال الرسائل للأعلى إلى مجموعات الأجهزة من خلال:
الرسائل التي تستهدف مفتاح الإشعار المناسب في
الحقل "to
".
تُرسِل المكالمة التالية إلى FCM رسالة صعوديًا إلى مفتاح إشعار.
Firebase.Messaging.Message message; message.To = notification_key; message.MessageId = a_unique_message_id; message.Data["hello"] = "world"; Firebase.Messaging.FirebaseMessaging.Send(message);