שלח הודעות לקבוצות מכשירים באנדרואיד

הודעות קבוצת מכשירים מאפשרות לך להוסיף מספר מכשירים לקבוצה אחת. זה דומה להעברת הודעות בנושא, אבל כולל אימות כדי להבטיח שהחברות בקבוצה מנוהלת רק על ידי השרתים שלך. לדוגמה, אם ברצונך לשלוח הודעות שונות לדגמי טלפון שונים, השרתים שלך יכולים להוסיף/להסיר רישומים לקבוצות המתאימות ולשלוח את ההודעה המתאימה לכל קבוצה. העברת הודעות בקבוצת מכשירים שונה מהעברת הודעות בנושא בכך שהיא כוללת ניהול קבוצות מכשירים מהשרתים שלך במקום ישירות בתוך היישום שלך.

המספר המרבי של חברים המותר למפתח הודעה הוא 20.

ניהול קבוצות מכשירים

לפני שליחת הודעות לקבוצת מכשירים, עליך:

  1. השג אסימוני רישום עבור כל מכשיר שברצונך להוסיף לקבוצה.

  2. צור את 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