שימוש ב-FCM וב-FIAM כדי לשלוח הודעות למשתמשים

1. לפני שמתחילים

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

206c7ecece550bde.png

דרישות מוקדמות

ללא

מה תלמדו

  • הוספת Firebase לאפליקציה ל-Android
  • הוספת יחסי תלות ל-FCM ול-FIAM
  • שליחת הודעת בדיקה של FCM לאפליקציה
  • שליחת הודעת FIAM לבדיקה לאפליקציה

מה צריך להכין

  • Android Studio 4.1
  • מכשיר Android או אמולטור

2. שנתחיל?

קבלת קוד לדוגמה

משכפלים את המאגר ב-GitHub משורת הפקודה:

ייבוא האפליקציה לתחילת הדרך

ב-Android Studio, בוחרים את הספרייה codelab-fcm-and-fiam ( android_studio_folder.png). זו הספרייה ששכפלתם בשלב הקודם (File‏ > Open‏ > .../codelab-fcm-and-fiam).

הפרויקט FcmAndFiam אמור להיפתח עכשיו ב-Android Studio. אם מוצגת אזהרה על כך שקובץ google-services.json חסר, אין מה לדאוג. הוא יתווסף בשלב הבא.

3. יצירת פרויקט במסוף Firebase

הוספת Firebase לפרויקט

  1. נכנסים למסוף Firebase.
  2. בוחרים באפשרות הוספת פרויקט.
  3. בוחרים או מזינים שם לפרויקט.
  4. מבצעים את שאר שלבי ההגדרה במסוף Firebase ולוחצים על Create project (יצירת פרויקט) (או Add Firebase, אם משתמשים בפרויקט Google קיים).
  5. במסך הסקירה הכללית של הפרויקט החדש, לוחצים על סמל Android כדי להפעיל את תהליך העבודה להגדרה.
  6. מזינים את שם החבילה של ה-codelab: com.google.firebase.codelab.fcmandfiam

הוספת קובץ google-services.json לאפליקציה

אחרי שמוסיפים את שם החבילה, לוחצים על Register App then Download google-services.json כדי לקבל את קובץ התצורה של Firebase ל-Android, ולאחר מכן מעתיקים את הקובץ google-services.json לספרייה app בפרויקט. אחרי הורדת הקובץ, אפשר ללחוץ על Skip (דילוג) כדי לדלג על השלבים הבאים שמוצגים במסוף (הם כבר בוצעו בשבילכם בפרויקט build-android-start).

הוספת הפלאגין google-services לאפליקציה

הפלאגין google-services משתמש בקובץ google-services.json כדי להגדיר את האפליקציה לשימוש ב-Firebase. כבר אמורה להיות תוספת של התלות בפלאגין google-services והפלאגין עצמו לקובצי ה-build ברמת הפרויקט וברמת האפליקציה, בהתאמה. מאשרים את הרשומות הבאות:

build.gradle

buildscript {
  ...
  dependencies {
    ...
    classpath 'com.google.gms:google-services:4.3.8'
  }
}

app/build.gradle

plugins {
  ...
  id: 'com.google.gms.google-services'
}

הוספת יחסי תלות

ל-FCM ול-FIAM נדרשות יחסי התלות הבאים. יחסי התלות האלה כבר אמורים להתווסף לקובץ ה-build ברמת האפליקציה. מוודאים שנוספו יחסי התלות הבאים:

app/build.gradle

dependencies {
  ...
  implementation platform('com.google.firebase:firebase-bom:28.4.2')
  implementation 'com.google.firebase:firebase-analytics'
  implementation 'com.google.firebase:firebase-messaging'
  implementation 'com.google.firebase:firebase-inappmessaging-display'
}

סנכרון הפרויקט עם קובצי gradle

כדי לוודא שכל יחסי התלות זמינים לאפליקציה, צריך לסנכרן את הפרויקט עם קובצי Gradle בשלב הזה. בסרגל הכלים של Android Studio, בוחרים באפשרות File > Sync Project with Gradle Files.

4. מזהי יומנים

גם ב-Firebase Cloud Messaging וגם ב-Firebase In App Messaging נעשה שימוש במזהים כדי לשלוח הודעות לאפליקציות. ב-FCM נעשה שימוש בטוקן רישום, וב-FIAM נעשה שימוש במזהה התקנה.

  1. ב-MainActivity.kt מחליפים את TODO בקוד הבא כדי לתעד ביומן את המזהים הנדרשים לשליחת הודעות:
FirebaseMessaging.getInstance().token.addOnCompleteListener { regTokenTask ->
   if (regTokenTask.isSuccessful) {
       Log.d(TAG, "FCM registration token: ${regTokenTask.result}")
   } else {
       Log.e(TAG, "Unable to retrieve registration token",
           regTokenTask.exception)
   }
}
FirebaseInstallations.getInstance().id.addOnCompleteListener { installationIdTask ->
   if (installationIdTask.isSuccessful) {
       Log.d(TAG, "Firebase Installations ID: ${installationIdTask.result}")
   } else {
       Log.e(TAG, "Unable to retrieve installations ID",
           installationIdTask.exception)
   }
}
  1. מחברים את מכשיר Android ולוחצים על הפעלה ( execute.png) בסרגל הכלים של Android Studio. הקשה על הלחצן Log Identifiers תסמן ביומן logcat את אסימון הרישום של FCM ואת מזהה ההתקנות של Firebase. הפלט אמור להיראות כך:
D/FcmAndFiam: Firebase Installations ID: emMc5...AsJfb
  FCM registration token: emMc5LART6GV7...r0Q

5. שליחת הודעת בדיקה ב-FCM

אפשר לשלוח הודעות FCM גם ממסוף Firebase וגם מ-FCM REST API. בסדנת הקוד הזו נכתוב הודעה של התראה ב-FCM ונשלח אותה למכשיר שלנו. הודעות התראה הן הודעות שמוצגות באזור ההתראות של המערכת. כדי לשלוח הודעת בדיקה ב-FCM:

  1. מוודאים שהאפליקציה פועלת ברקע (עוברים למסך הבית)
  2. נכנסים למסוף Firebase ובוחרים באפשרות Cloud Messaging בתפריט הניווט הימני.
  3. בוחרים באפשרות שליחת ההודעה הראשונה.
  4. מוסיפים כותרת וגוף להודעה ולוחצים על שליחת הודעת בדיקה.

207ced65f5245ada.png

  1. מוסיפים את אסימון הרישום של FCM ולוחצים על test.

f3556c6a8a6453fe.png

  1. צפייה בהתראה במכשיר
  2. הקשה על ההתראה פותחת את האפליקציה

6. שליחת הודעת FIAM לבדיקה

אפשר להפעיל את התכונה 'העברת הודעות בתוך האפליקציה' ב-Firebase כתוצאה ממגוון אירועים של משתמשים. בהודעת הבדיקה נעשה שימוש באירוע פתיחת האפליקציה כדי להפעיל את ההודעה באפליקציה. כדי לשלוח הודעת FIAM לבדיקה:

  1. מוודאים שהאפליקציה פועלת ברקע (עוברים למסך הבית)
  2. נכנסים למסוף Firebase ובוחרים באפשרות 'העברת הודעות בתוך האפליקציה' בתפריט הניווט הימני.
  3. בוחרים באפשרות יצירת הקמפיין הראשון.
  4. בוחרים קמפיין באנר עליון ומזינים את הכותרת ואת גוף ההודעה.
  5. לוחצים על בדיקה במכשיר.

69f6ea5efff240d1.png

  1. מוסיפים את מזהה ההתקנות ולוחצים על בדיקה.

24b101edfab47144.png

  1. פתיחה מחדש של האפליקציה
  2. צפייה בהודעה באפליקציה

7. מזל טוב

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

מקורות מידע נוספים

מה השלב הבא

  • לשלוח הודעות למשתמשים באפליקציה שלכם ל-Android.

מסמכי עזרה