Catch up on everthing we announced at this year's Firebase Summit. Learn more

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

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

הגדר את ה-SDK

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

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

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

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

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

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

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

צור פרויקט Firebase

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

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

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

  1. עבור אל קונסולת Firebase .

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

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

  4. (אופציונאלי) זן פרטי אפליקציה אחרים: כינוי App ו Debug חתימת אישור SHA-1.

  5. לחץ אפליקצית רישום.

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

  1. הוסף את קובץ התצורה של Firebase Android לאפליקציה שלך:

    1. לחץ על google-services.json הורדה לקבל קובץ config Firebase Android שלך ( google-services.json ).

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

  2. כדי לאפשר מוצרי Firebase באפליקציה, להוסיף את שירותי Google תוסף לקבצי Gradle שלך.

    1. בשנת ברמת השורש שלך (פרויקט ברמה) קובץ Gradle ( build.gradle ), להוסיף כללים לכלול את תוסף Gradle שירותי Google. בדוק שיש לך גם את מאגר Maven של גוגל.

      buildscript {
      
        repositories {
          // Check that you have the following line (if not, add it):
          google()  // Google's Maven repository
        }
      
        dependencies {
          // ...
      
          // Add the following line:
          classpath 'com.google.gms:google-services:4.3.10'  // Google Services plugin
        }
      }
      
      allprojects {
        // ...
      
        repositories {
          // Check that you have the following line (if not, add it):
          google()  // Google's Maven repository
          // ...
        }
      }
      
    2. במודול שלך (ברמת היישום) קובץ Gradle (בדרך כלל app/build.gradle ), להחיל את תוסף Gradle שירותי Google:

      apply plugin: 'com.android.application'
      // Add the following line:
      apply plugin: 'com.google.gms.google-services'  // Google Services plugin
      
      android {
        // ...
      }
      

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

  1. באמצעות BOM אנדרואיד Firebase , להכריז על התלות של הספרייה אנדרואיד Firebase הודעות בענן מודול שלך (ברמת האפליקציה) קובץ Gradle (בדרך כלל app/build.gradle ).

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

    Java

    dependencies {
        // Import the BoM for the Firebase platform
        implementation platform('com.google.firebase:firebase-bom:29.0.1')
    
        // Declare 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 אנדרואיד BOM , האפליקציה שלך תמיד ישתמשו גירסאות תואמות של ספריות אנדרואיד Firebase.

    (אלטרנטיבי) הצהר תלות הספרייה Firebase ללא שימוש BOM

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

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

    dependencies {
        // Declare 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.0'
        implementation 'com.google.firebase:firebase-analytics:20.0.0'
    }
    

    קוטלין+KTX

    dependencies {
        // Import the BoM for the Firebase platform
        implementation platform('com.google.firebase:firebase-bom:29.0.1')
    
        // Declare 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 אנדרואיד BOM , האפליקציה שלך תמיד ישתמשו גירסאות תואמות של ספריות אנדרואיד Firebase.

    (אלטרנטיבי) הצהר תלות הספרייה Firebase ללא שימוש BOM

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

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

    dependencies {
        // Declare 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.0'
        implementation 'com.google.firebase:firebase-analytics-ktx:20.0.0'
    }
    

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

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

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

עם ההפעלה הראשונית של האפליקציה שלך, 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();
        }
    });

קוטלין+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(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);
}

קוטלין+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 מרכז השליטה של דיווח , אשר מתעדת את מספר ההודעות שנשלחו ופתח גם במכשירי Apple ו- Android, יחד עם נתונים עבור "הופעות" (הודעות נתפס על ידי משתמשים) עבור אפליקציות אנדרואיד.

הצעדים הבאים

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

ברגע שאתה שלחת בהצלחה הודעות ההודעה בזמן שהאפליקציה לא ברקע, לראות ולקבל הודעות ליישום Android כדי להתחיל לשלוח לאפליקציות foregrounded.

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

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