הודעות קבוצתיות במכשירים מאפשרות לכם להוסיף כמה מכשירים לקבוצה אחת. זה דומה להודעות בנושא מסוים, אבל כולל אימות כדי להבטיח שרק השרתים שלכם ינהלו את חברות הקבוצה. לדוגמה, אם רוצים לשלוח הודעות שונות לדגמים שונים של טלפונים, השרתים יכולים להוסיף או להסיר רישומים לקבוצות המתאימות ולשלוח את ההודעה המתאימה לכל קבוצה. ההבדל בין שליחת הודעות לקבוצות מכשירים לבין שליחת הודעות לנושאים הוא שבשליחת הודעות לקבוצות מכשירים צריך לנהל את קבוצות המכשירים מהשרתים, במקום ישירות באפליקציה.
המספר המקסימלי של חברים שמותר להוסיף למפתח התראות הוא 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 של שם מפתח התראות נתון, השרת מחזיר מחרוזת מקודדת ייחודית. למרות שכל מחרוזת עשויה להיראות כמפתח שונה, היא למעשה ערך תקין של notification_key.
הוספה והסרה של מכשירים מקבוצת מכשירים
כדי להוסיף מכשירים לקבוצה קיימת או להסיר מכשירים מקבוצה קיימת, שולחים בקשת 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 מוחק את קבוצת המכשירים. |
שליחת הודעות במורד הזרם לקבוצות מכשירים
שליחת הודעות לקבוצת מכשירים דומה מאוד לשליחת הודעות למכשיר בודד, ומשתמשים באותה שיטה כדי לאשר בקשות שליחה. מגדירים את השדה 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