צ'אט קבוצתי מאפשר להוסיף כמה מכשירים לקבוצה אחת. ההודעה הזו דומה להודעות בנושא מסוים, אבל כוללת אימות כדי לוודא החברות בקבוצה מנוהלת רק על ידי השרתים שלך. לדוגמה, אם רוצים לשלוח הודעות שונות לדגמי טלפון שונים, השרתים שלך יכולים להוסיף/להסיר נרשמים לקבוצות המתאימות ושולחים את ההודעה המתאימה לכל קבוצה קבוצה. העברת הודעות בין קבוצות מכשירים שונה מהעברת הודעות לפי נושא, בכך שהיא קשורה לנהל קבוצות מכשירים מהשרתים שלכם במקום ישירות תרגום מכונה.
אפשר להוסיף מפתח התראות ל-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 עבור שם של מפתח התראה נתון, השרת מחזירה מחרוזת מקודדת ייחודית. למרות שכל מחרוזת עשויה להיראות מפתח אחר, הוא למעשה ערך '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" }
מפתחות ניהול של קבוצות מכשירים
בטבלה הבאה מפורטים המפתחות ליצירת קבוצות מכשירים ולצירוף והסרה של חברים.
פרמטר | שימוש | תיאור |
---|---|---|
operation |
חובה, מחרוזת | הפעולה שיש להריץ.הערכים החוקיים הם create ,
add ו-remove . |
notification_key_name |
שדה חובה, מחרוזת | השם שהמשתמש נתן לקבוצת המכשירים שיוצרים או משנים. |
notification_key |
חובה (למעט פעולה create , מחרוזת) |
המזהה הייחודי של קבוצת המכשירים. הערך הזה
מוחזר בתגובה עבור ערך create מוצלח
והוא
שנדרשת לכל הפעולות הבאות בקבוצת המכשירים. |
registration_ids |
נדרש, מערך מחרוזות | האסימונים של המכשיר שרוצים להוסיף או להסיר. אם מסירים את כל אסימוני רישום מקבוצת מכשירים, FCM מוחק את קבוצת המכשירים. |
שליחת הודעות downstream לקבוצות מכשירים
כדי לשלוח הודעות לקבוצות מכשירים צריך להשתמש ב-HTTP v1 API. אם אתם נמצאים כרגע שולחת לקבוצות מכשירים באמצעות ממשקי ה-API הקודמים לשליחת הודעות שהוצאו משימוש עבור או XMPP, או כל אחת מהגרסאות הקודמות של Firebase Admin SDK ל-Node.js בהתאם לפרוטוקולים הקודמים, אנחנו ממליצים מאוד מעבר ל-HTTP v1 API בהקדם האפשרי. ממשקי ה-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
שליחת הודעות ב-upstream לקבוצות מכשירים
אפליקציות לקוח יכולות לשלוח הודעות ב-upstream לקבוצות מכשירים באמצעות
לטרגט הודעות למפתח ההתראות המתאים,
שדה 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);