הודעות קבוצת מכשירים מאפשרות לך להוסיף מספר מכשירים לקבוצה אחת. זה דומה להעברת הודעות בנושא, אבל כולל אימות כדי להבטיח שהחברות בקבוצה מנוהלת רק על ידי השרתים שלך. לדוגמה, אם ברצונך לשלוח הודעות שונות לדגמי טלפון שונים, השרתים שלך יכולים להוסיף/להסיר רישומים לקבוצות המתאימות ולשלוח את ההודעה המתאימה לכל קבוצה. העברת הודעות בקבוצת מכשירים שונה מהעברת הודעות בנושא בכך שהיא כוללת ניהול קבוצות מכשירים מהשרתים שלך במקום ישירות בתוך היישום שלך.
המספר המרבי של חברים המותר למפתח הודעה הוא 20.
ניהול קבוצות מכשירים
לפני שליחת הודעות לקבוצת מכשירים, עליך:
השג אסימוני רישום עבור כל מכשיר שברצונך להוסיף לקבוצה.
צור את
notification_key
, המזהה את קבוצת המכשירים על ידי מיפוי קבוצה מסוימת (בדרך כלל משתמש) לכל אסימוני הרישום המשויכים לקבוצה. אתה יכול ליצור מפתחות התראות בשרת האפליקציות.
ניהול בסיסי של קבוצות מכשירים - יצירה והסרה של קבוצות והוספה או הסרה של מכשירים - מתבצע באמצעות ה-API של 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 תמחק את קבוצת המכשירים. |
שליחת הודעות במורד הזרם לקבוצות מכשירים
כדי לשלוח הודעות לקבוצות מכשירים, השתמש ב-API של HTTP v1. אם אתה שולח כעת לקבוצות מכשירים באמצעות ממשקי ה-API של שליחת מדור קודם עבור HTTP או XMPP, או כל אחת מהגירסאות הישנות יותר של Firebase Admin SDK עבור Node.js המבוססות על הפרוטוקולים הישנים, אנו ממליצים בחום לעבור ל-HTTP v1 API בהזדמנות המוקדמת ביותר. ממשקי ה-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