יש לך שתי אפשרויות להקצאת עדיפות מסירה להודעות במורד הזרם ב-Android: רגילה ובעדיפות גבוהה. מסירת הודעות רגילה ובעדיפות גבוהה פועלת כך:
עדיפות רגילה. זוהי עדיפות ברירת המחדל עבור הודעות נתונים . הודעות עדיפות רגילות נמסרות מיד כשהמכשיר אינו ישן. כאשר המכשיר נמצא במצב נמנום , המסירה עשויה להתעכב כדי לחסוך בסוללה עד שהמכשיר יוצא מנמנם. עבור הודעות פחות רגישות לזמן, כגון התראות על אימייל חדש, שמירת ממשק המשתמש שלך מסונכרן או סנכרון נתוני אפליקציה ברקע, בחר בעדיפות מסירה רגילה.
בעת קבלת הודעת עדיפות רגילה באנדרואיד המבקשת סנכרון נתוני רקע עבור האפליקציה שלך, אתה יכול לתזמן משימה עם WorkManager לטפל בה כשהרשת זמינה.
עדיפות גבוהה. FCM מנסה להעביר הודעות בעדיפות גבוהה באופן מיידי, מה שמאפשר ל-FCM להעיר מכשיר שינה בעת הצורך ולהפעיל עיבוד מוגבל (כולל גישה מוגבלת מאוד לרשת). הודעות בעדיפות גבוהה בדרך כלל אמורות לגרום לאינטראקציה של המשתמש עם האפליקציה שלך או עם ההתראות שלה.
שימוש בהודעות בעדיפות גבוהה עבור אנדרואיד
הודעות בעדיפות גבוהה באנדרואיד מיועדות לתוכן רגיש לזמן, גלוי למשתמש, וצריכות לגרום להתראות הפונות למשתמש. אם FCM מזהה דפוס שבו הודעות אינן מובילות להתראות הפונות למשתמש, ייתכן שההודעות שלך יקבלו עדיפות רגילה. FCM משתמשת ב-7 ימים של התנהגות הודעות כאשר היא קובעת אם לבטל את העדיפויות של הודעות; הוא קובע את הקביעה הזו באופן עצמאי עבור כל מופע של הבקשה שלך. אם, בתגובה להודעות בעדיפות גבוהה, התראות מוצגות בצורה גלויה למשתמש, אזי ההודעות העתידיות שלך בעדיפות גבוהה לא יקבלו את העדיפות. זה חל בין אם ההודעה מוצגת על ידי FCM SDK באמצעות הודעת הודעה , או הודעה שנוצרה על ידי מפתח באמצעות הודעת נתונים .
מדידת ביטול העדיפויות של הודעות באנדרואיד
הודעות בודדות. בעת מסירה, אתה יכול לקבוע אם הודעה בודדת קיבלה ביטול עדיפות או לא על ידי השוואת עדיפות המסירה שלה, מ- getPriority() , עם העדיפות המקורית שלה, מ- getOriginalPriority()
כל ההודעות. ממשק ה-API של FCM Aggregate Delivery Data יכול לדווח איזה אחוז מכל ההודעות שלך ל-Android מועדף. ייתכן שהודעות מסוימות יושמטו מדוחות הנתונים המצטברים, אך באופן כללי הן צריכות לתת מבט כללי על שיעורי ביטול העדיפויות של ההודעות. עיין במאמר שלנו על נתוני מסירה מצטברים למידע נוסף וקוד לדוגמה לשאילתת ה-API; ניתן לחקור אותו גם מסייר ה-API .
פתרון תקלות
ודא שבמופע האפליקציה שלך מופעלות התראות. אם המשתמש השבית את הרשאת ההתראות עבור האפליקציה שלך, אף אחת מההתראות שלך לא תפורסם, כתוצאה מכך, ההודעות שלך יקבלו את העדיפויות. עליך לוודא שהתראות מופעלות לפני שליחת הודעות בעדיפות גבוהה למופע יישום.
אל תתקשר הביתה לפני פרסום הודעה. מכיוון שחלק קטן מאוכלוסיית הניידים של אנדרואיד נמצאים ברשתות עם זמן אחזור גבוה, הימנע מפתיחת חיבור לשרתים שלך לפני הצגת הודעה. התקשרות חזרה לשרת לפני תום זמן העיבוד המותר עלולה להיות מסוכנת עבור משתמשים ברשתות עם זמן אחזור גבוה. במקום זאת, כלול את תוכן ההתראה בהודעת FCM והצג אותו מיד. אם אתה צריך לסנכרן עבור תוכן נוסף בתוך האפליקציה באנדרואיד, אתה יכול לתזמן משימה עם WorkManager כדי לטפל בזה ברקע.