קבלת הודעות באמצעות העברת הודעות בענן ב-Firebase

במדריך הזה מוסבר איך להגדיר את Firebase Cloud Messaging באפליקציות הלקוח לנייד ולאינטרנט כדי לקבל הודעות בצורה מהימנה.

כדי לקבל הודעות, האפליקציה צריכה להקצות קריאה חוזרת ל-event handler‏ Firebase.Messaging.FirebaseMessaging.MessageReceived.

אירוע אחד (MessageReceived)

אם מבטלים את ההקצאה של קריאה חוזרת ל-Firebase.Messaging.FirebaseMessaging.MessageReceived, אפשר לבצע פעולות על סמך ההודעה שהתקבלה ולקבל את נתוני ההודעה:

public void OnMessageReceived(object sender, Firebase.Messaging.MessageReceivedEventArgs e) {
  UnityEngine.Debug.Log("From: " + e.Message.From);
  UnityEngine.Debug.Log("Message ID: " + e.Message.MessageId);
}

ההודעות יכולות לייצג סוגים שונים של נתונים נכנסים. ברוב המקרים, ההודעות נשלחות לאפליקציה אחרי שהמפתח יוזם את השליחה. הודעות נשלחות גם לאפליקציה כדי לייצג אירועים של שליחת הודעות, אירועים של שגיאות בשליחת הודעות ואירועים של מחיקת הודעות. כדי להבחין בין האירועים המיוחדים האלה, בודקים את השדה Message::message_type.

ההודעות נמחקו

האירוע נשלח לאפליקציה כששרת FCM מוחק הודעות בהמתנה. המינוי של Message::message_type יהיה "deleted_messages". הודעות עשויות להימחק בגלל:

  1. יש יותר מדי הודעות שמאוחסנות בשרת FCM.

    זה יכול לקרות כששרתי אפליקציה שולחים הרבה הודעות שלא ניתן לכווץ לשרתי FCM בזמן שהמכשיר במצב אופליין.

  2. המכשיר לא התחבר במשך זמן רב, והשרת של האפליקציה שלח לאחרונה (במהלך 4 השבועות האחרונים) הודעה לאפליקציה במכשיר הזה.

    מומלץ שהאפליקציה תבצע סנכרון מלא עם שרת האפליקציה אחרי קבלת השיחה הזו.

שליחת אירוע

הפונקציה מופעלת כשהודעה מהשרת נשלחת בהצלחה אל FCM. המינוי של MessageType יהיה "send_event".

שגיאת שליחה

הפונקציה מופעלת כשיש שגיאה בשליחת הודעה לשרת. המינוי של MessageType יהיה "send_error".