Join us in person and online for Firebase Summit on October 18, 2022. Learn how Firebase can help you accelerate app development, release your app with confidence, and scale with ease. Register now

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

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

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

הגדר את ה-SDK

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

לפני שאתה מתחיל

  • התקן או עדכן את Android Studio לגרסה האחרונה שלו.

  • ודא שהפרויקט שלך עומד בדרישות הבאות:

    • ממקד לרמת API 19 (KitKat) ומעלה
    • משתמש ב-Android 4.4 ומעלה
    • משתמש ב-Jetpack (AndroidX) , הכולל עמידה בדרישות הגרסה הבאות:
      • com.android.tools.build:gradle v3.2.1 ואילך
      • compileSdkVersion 28 ואילך
  • הגדר מכשיר פיזי או השתמש באמולטור כדי להפעיל את האפליקציה שלך.
    שים לב ש- SDK של Firebase עם תלות בשירותי Google Play דורשים שהמכשיר או האמולטור יותקנו בשירותי Google Play.

  • היכנס ל-Firebase באמצעות חשבון Google שלך.

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

צור פרויקט Firebase

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

רשום את האפליקציה שלך ב-Firebase

כדי להשתמש ב-Firebase באפליקציית Android שלך, עליך לרשום את האפליקציה שלך בפרויקט Firebase שלך. רישום האפליקציה שלך נקרא לעתים קרובות "הוספת" האפליקציה שלך לפרויקט שלך.

  1. עבור אל מסוף Firebase .

  2. במרכז דף סקירת הפרויקט, לחץ על סמל אנדרואיד ( ) או הוסף אפליקציה כדי להפעיל את זרימת העבודה של ההגדרה.

  3. הזן את שם החבילה של האפליקציה שלך בשדה שם החבילה של Android .

  4. (אופציונלי) הזן מידע אחר על האפליקציה: כינוי לאפליקציה ואישור חתימת באגים SHA-1 .

  5. לחץ על הרשמה אפליקציה .

הוסף קובץ תצורה של Firebase

  1. הורד ולאחר מכן הוסף את קובץ התצורה של Firebase Android ( google-services.json ) לאפליקציה שלך:

    1. לחץ על הורד את google-services.json כדי להשיג את קובץ התצורה של Firebase Android שלך.

    2. העבר את קובץ התצורה שלך לספריית השורש של המודול (ברמת האפליקציה) של האפליקציה שלך.

  2. כדי להפוך את הערכים בקובץ התצורה google-services.json שלך לנגישים ל-SDK של Firebase, אתה צריך את הפלאגין של שירותי Google Gradle ( google-services ).

    1. בקובץ Gradle ברמת השורש (ברמת הפרויקט) ( <project>/build.gradle ), הוסף את הפלאגין של שירותי Google כתלות ב-buildscript:

      buildscript {
      
          repositories {
            // Make sure that you have the following two repositories
            google()  // Google's Maven repository
            mavenCentral()  // Maven Central repository
          }
      
          dependencies {
            ...
      
            // Add the dependency for the Google services Gradle plugin
            classpath 'com.google.gms:google-services:4.3.14'
          }
      }
      
      allprojects {
        ...
      
        repositories {
          // Make sure that you have the following two repositories
          google()  // Google's Maven repository
          mavenCentral()  // Maven Central repository
        }
      }
      
    2. בקובץ Gradle של המודול (ברמת האפליקציה) (בדרך כלל <project>/<app-module>/build.gradle ), הוסף את הפלאגין של שירותי Google:

      plugins {
          id 'com.android.application'
      
          // Add the Google services Gradle plugin
          id 'com.google.gms.google-services'
          ...
      }
      

הוסף ערכות SDK של Firebase לאפליקציה שלך

  1. בקובץ Gradle של המודול (ברמת האפליקציה) (בדרך כלל <project>/<app-module>/build.gradle ), הוסף את התלות עבור ספריית ה-Android של Firebase Cloud Messaging. אנו ממליצים להשתמש ב- Firebase Android BoM כדי לשלוט בגירסאות של הספרייה.

    לחוויה אופטימלית עם Firebase Cloud Messaging, אנו ממליצים להפעיל את Google Analytics בפרויקט Firebase שלך ​​ולהוסיף את Firebase SDK עבור Google Analytics לאפליקציה שלך.

    Java

    dependencies {
        // Import the BoM for the Firebase platform
        implementation platform('com.google.firebase:firebase-bom:30.5.0')
    
        // Add the dependencies for the Firebase Cloud Messaging and Analytics libraries
        // When using the BoM, you don't specify versions in Firebase library dependencies
        implementation 'com.google.firebase:firebase-messaging'
        implementation 'com.google.firebase:firebase-analytics'
    }
    

    באמצעות Firebase Android BoM , האפליקציה שלך תמיד תשתמש בגרסאות תואמות של ספריות Firebase Android.

    (אלטרנטיבי) הוסף תלות בספריית Firebase מבלי להשתמש ב-BoM

    אם תבחר שלא להשתמש ב-Firebase BoM, עליך לציין כל גרסת ספריית Firebase בשורת התלות שלה.

    שים לב שאם אתה משתמש במספר ספריות Firebase באפליקציה שלך, אנו ממליצים בחום להשתמש ב-BoM לניהול גרסאות ספרייה, מה שמבטיח שכל הגרסאות תואמות.

    dependencies {
        // Add the dependencies for the Firebase Cloud Messaging and Analytics libraries
        // When NOT using the BoM, you must specify versions in Firebase library dependencies
        implementation 'com.google.firebase:firebase-messaging:23.0.8'
        implementation 'com.google.firebase:firebase-analytics:21.1.1'
    }
    

    Kotlin+KTX

    dependencies {
        // Import the BoM for the Firebase platform
        implementation platform('com.google.firebase:firebase-bom:30.5.0')
    
        // Add the dependencies for the Firebase Cloud Messaging and Analytics libraries
        // When using the BoM, you don't specify versions in Firebase library dependencies
        implementation 'com.google.firebase:firebase-messaging-ktx'
        implementation 'com.google.firebase:firebase-analytics-ktx'
    }
    

    באמצעות Firebase Android BoM , האפליקציה שלך תמיד תשתמש בגרסאות תואמות של ספריות Firebase Android.

    (אלטרנטיבי) הוסף תלות בספריית Firebase מבלי להשתמש ב-BoM

    אם תבחר שלא להשתמש ב-Firebase BoM, עליך לציין כל גרסת ספריית Firebase בשורת התלות שלה.

    שים לב שאם אתה משתמש במספר ספריות Firebase באפליקציה שלך, אנו ממליצים בחום להשתמש ב-BoM לניהול גרסאות ספרייה, מה שמבטיח שכל הגרסאות תואמות.

    dependencies {
        // Add the dependencies for the Firebase Cloud Messaging and Analytics libraries
        // When NOT using the BoM, you must specify versions in Firebase library dependencies
        implementation 'com.google.firebase:firebase-messaging-ktx:23.0.8'
        implementation 'com.google.firebase:firebase-analytics-ktx:21.1.1'
    }
    

  2. סנכרן את פרויקט האנדרואיד שלך עם קבצי Gradle.

גש לאסימון הרישום

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

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

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

אסימון הרישום עשוי להשתנות כאשר:

  • האפליקציה משוחזרת במכשיר חדש
  • המשתמש מסיר/מתקין מחדש את האפליקציה
  • המשתמש מנקה את נתוני האפליקציה.

אחזר את אסימון הרישום הנוכחי

כאשר אתה צריך לאחזר את האסימון הנוכחי, התקשר FirebaseMessaging.getInstance().getToken() :

Java

FirebaseMessaging.getInstance().getToken()
    .addOnCompleteListener(new OnCompleteListener<String>() {
        @Override
        public void onComplete(@NonNull Task<String> task) {
          if (!task.isSuccessful()) {
            Log.w(TAG, "Fetching FCM registration token failed", task.getException());
            return;
          }

          // Get new FCM registration token
          String token = task.getResult();

          // Log and toast
          String msg = getString(R.string.msg_token_fmt, token);
          Log.d(TAG, msg);
          Toast.makeText(MainActivity.this, msg, Toast.LENGTH_SHORT).show();
        }
    });

Kotlin+KTX

FirebaseMessaging.getInstance().token.addOnCompleteListener(OnCompleteListener { task ->
    if (!task.isSuccessful) {
        Log.w(TAG, "Fetching FCM registration token failed", task.exception)
        return@OnCompleteListener
    }

    // Get new FCM registration token
    val token = task.result

    // Log and toast
    val msg = getString(R.string.msg_token_fmt, token)
    Log.d(TAG, msg)
    Toast.makeText(baseContext, msg, Toast.LENGTH_SHORT).show()
})

מעקב אחר יצירת אסימונים

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

Java

/**
 * There are two scenarios when onNewToken is called:
 * 1) When a new token is generated on initial app startup
 * 2) Whenever an existing token is changed
 * Under #2, there are three scenarios when the existing token is changed:
 * A) App is restored to a new device
 * B) User uninstalls/reinstalls the app
 * C) User clears app data
 */
@Override
public void onNewToken(@NonNull String token) {
    Log.d(TAG, "Refreshed token: " + token);

    // If you want to send messages to this application instance or
    // manage this apps subscriptions on the server side, send the
    // FCM registration token to your app server.
    sendRegistrationToServer(token);
}

Kotlin+KTX

/**
 * Called if the FCM registration token is updated. This may occur if the security of
 * the previous token had been compromised. Note that this is called when the
 * FCM registration token is initially generated so this is where you would retrieve the token.
 */
override fun onNewToken(token: String) {
    Log.d(TAG, "Refreshed token: $token")

    // If you want to send messages to this application instance or
    // manage this apps subscriptions on the server side, send the
    // FCM registration token to your app server.
    sendRegistrationToServer(token)
}

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

שלח הודעת התראה על בדיקה

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

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

  3. פתח את יוצר ההודעות ובחר הודעה חדשה .

  4. הזן את טקסט ההודעה.

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

  6. בשדה שכותרתו הוסף אסימון רישום של FCM , הזן את אסימון הרישום שהשגת בחלק הקודם של מדריך זה.

  7. לחץ על בדוק

לאחר שתלחץ על בדוק , מכשיר הלקוח הממוקד (עם האפליקציה ברקע) אמור לקבל את ההודעה במגש ההתראות של המערכת.

לקבלת תובנות לגבי מסירת הודעות לאפליקציה שלך, עיין בלוח המחוונים לדיווח של FCM , שמתעד את מספר ההודעות שנשלחו ונפתחו במכשירי אפל ו-Android, יחד עם נתונים עבור "הופעות" (התראות שנראו על ידי משתמשים) עבור אפליקציות Android.

הצעדים הבאים

שלח הודעות לאפליקציות בחזית

לאחר ששלחת בהצלחה הודעות התראה כשהאפליקציה שלך ברקע, ראה קבלת הודעות באפליקציית Android כדי להתחיל לשלוח לאפליקציות בחזית.

מעבר להודעות הודעות

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