כדי להתחיל עם FCM, בנה את מקרה השימוש הפשוט ביותר: שליחת הודעת התראת בדיקה ממחבר ההתראות למכשיר פיתוח כאשר האפליקציה נמצאת ברקע במכשיר. דף זה מפרט את כל השלבים להשגת זאת, מההגדרה ועד לאימות - הוא עשוי לכסות שלבים שכבר השלמת אם הגדרת אפליקציית לקוח אנדרואיד עבור FCM.
הגדר את ה-SDK
חלק זה מכסה משימות שייתכן שהשלמת אם כבר הפעלת תכונות אחרות של Firebase עבור האפליקציה שלך.
לפני שאתה מתחיל
התקן או עדכן את Android Studio לגרסה האחרונה שלו.
ודא שהפרויקט שלך עומד בדרישות הבאות:
- ממקד לרמת API 19 (KitKat) ומעלה
- משתמש ב-Android 4.4 ומעלה
- משתמש ב-Jetpack (AndroidX) , הכולל עמידה בדרישות הגרסה הבאות:
-
com.android.tools.build:gradle
v7.3.0 ואילך -
compileSdkVersion
28 ואילך
-
הגדר מכשיר פיזי או השתמש באמולטור כדי להפעיל את האפליקציה שלך.
שים לב ש- SDK של Firebase עם תלות בשירותי Google Play דורשים שהמכשיר או האמולטור יותקנו בשירותי Google Play.היכנס ל-Firebase באמצעות חשבון Google שלך.
אם עדיין אין לך פרויקט אנדרואיד ורק רוצה לנסות מוצר של Firebase, תוכל להוריד את אחת מדוגמאות ההתחלה המהירה שלנו.
צור פרויקט Firebase
לפני שתוכל להוסיף את Firebase לאפליקציית Android שלך, עליך ליצור פרויקט Firebase כדי להתחבר לאפליקציית Android שלך. בקר בהבנת פרויקטים של Firebase כדי ללמוד עוד על פרויקטים של Firebase.
רשום את האפליקציה שלך ב-Firebase
כדי להשתמש ב-Firebase באפליקציית Android שלך, עליך לרשום את האפליקציה שלך בפרויקט Firebase שלך. רישום האפליקציה שלך נקרא לעתים קרובות "הוספת" האפליקציה שלך לפרויקט שלך.
עבור אל מסוף Firebase .
במרכז דף סקירת הפרויקט, לחץ על סמל אנדרואיד (
) או הוסף אפליקציה כדי להפעיל את זרימת העבודה של ההגדרה.הזן את שם החבילה של האפליקציה שלך בשדה שם החבילה של Android .
שם חבילה מזהה באופן ייחודי את האפליקציה שלך במכשיר ובחנות Google Play.
שם חבילה מכונה לעתים קרובות מזהה יישום .
מצא את שם החבילה של האפליקציה שלך בקובץ Gradle של המודול (ברמת האפליקציה), בדרך כלל
app/build.gradle
(שם חבילה לדוגמה:com.yourcompany.yourproject
).שים לב שערך שם החבילה הוא תלוי רישיות, ולא ניתן לשנות אותו עבור אפליקציית Firebase Android זו לאחר שהיא נרשמה בפרויקט Firebase שלך.
(אופציונלי) הזן מידע אחר על האפליקציה: כינוי לאפליקציה ואישור חתימת באגים SHA-1 .
כינוי אפליקציה : מזהה פנימי, נוחות גלוי רק לך במסוף Firebase
ניפוי באגים באישור החתימה SHA-1 : יש צורך ב- hash של SHA-1 על ידי אימות Firebase (בעת שימוש ב- Google Sign In או כניסה למספר טלפון ) ו- Firebase Dynamic Links .
לחץ על הרשמה אפליקציה .
הוסף קובץ תצורה של Firebase
הורד ולאחר מכן הוסף את קובץ התצורה של Firebase Android (
) לאפליקציה שלך:google-services.json לחץ על הורד את google-services.json כדי להשיג את קובץ התצורה של Firebase Android שלך.
העבר את קובץ התצורה שלך לספריית השורש של המודול (ברמת האפליקציה) של האפליקציה שלך.
קובץ התצורה של Firebase מכיל מזהים ייחודיים, אך לא סודיים עבור הפרויקט שלך. למידע נוסף על קובץ תצורה זה, בקר ב- Understand Firebase Projects .
תוכל להוריד שוב את קובץ התצורה של Firebase בכל עת.
ודא ששם קובץ התצורה אינו מצורף עם תווים נוספים, כמו
(2)
.
כדי להפוך את הערכים בקובץ התצורה
שלך לנגישים ל-SDK של Firebase, אתה צריך את הפלאגין של שירותי Google Gradle (google-services.json google-services
).בקובץ Gradle ברמת השורש (ברמת הפרויקט) (
<project>/build.gradle.kts
או<project>/build.gradle
), הוסף את הפלאגין של שירותי Google כתלות:Kotlin
plugins { id("com.android.application") version "7.3.0" apply false // ... // Add the dependency for the Google services Gradle plugin id("com.google.gms.google-services") version "4.4.0" apply false }
Groovy
plugins { id 'com.android.application' version '7.3.0' apply false // ... // Add the dependency for the Google services Gradle plugin id 'com.google.gms.google-services' version '4.4.0' apply false }
בקובץ Gradle של המודול (ברמת האפליקציה) (בדרך כלל
<project>/<app-module>/build.gradle.kts
או<project>/<app-module>/build.gradle
), הוסף את הפלאגין של שירותי Google:Kotlin
plugins { id("com.android.application") // Add the Google services Gradle plugin id("com.google.gms.google-services") // ... }
Groovy
plugins { id 'com.android.application' // Add the Google services Gradle plugin id 'com.google.gms.google-services' // ... }
הוסף ערכות פיתוח של Firebase לאפליקציה שלך
בקובץ Gradle של המודול (ברמת האפליקציה) (בדרך כלל
<project>/<app-module>/build.gradle.kts
או<project>/<app-module>/build.gradle
), הוסף את התלות עבור Firebase Cloud ספריית הודעות עבור אנדרואיד. אנו ממליצים להשתמש ב- Firebase Android BoM כדי לשלוט בגירסאות של הספרייה.לחוויה אופטימלית עם Firebase Cloud Messaging, אנו ממליצים להפעיל את Google Analytics בפרויקט Firebase שלך ולהוסיף את Firebase SDK עבור Google Analytics לאפליקציה שלך.
dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:32.6.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.
מחפש מודול ספרייה ספציפי לקוטלין? החל מאוקטובר 2023 (Firebase BoM 32.5.0) , מפתחי Kotlin ו-Java יכולים להיות תלויים במודול הספרייה הראשי (לפרטים, עיין בשאלות הנפוצות לגבי יוזמה זו ).(אלטרנטיבי) הוסף תלות בספריית 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.3.1") implementation("com.google.firebase:firebase-analytics:21.5.0") }
סנכרן את פרויקט האנדרואיד שלך עם קבצי Gradle.
בניית Gradle המשתמשת ב-Android Gradle plugin (AGP) גרסה 4.2 או מוקדמת יותר צריכה לאפשר תמיכה ב-Java 8. אחרת, פרויקטי Android אלה מקבלים כשל בבנייה בעת הוספת Firebase SDK.
כדי לתקן את כשל הבנייה הזה, תוכל לבצע אחת משתי אפשרויות:
- הוסף את
compileOptions
המפורטים מהודעת השגיאה לקובץbuild.gradle.kts
אוbuild.gradle
ברמת האפליקציה . - הגדל את
minSdk
עבור פרויקט האנדרואיד שלך ל-26 ומעלה.
למידע נוסף על כשל בנייה זה בשאלות נפוצות זה .
- הוסף את
גש לאסימון הרישום
כדי לשלוח הודעה למכשיר מסוים, עליך לדעת את אסימון הרישום של אותו מכשיר. מכיוון שתצטרך להזין את האסימון בשדה במסוף ההתראות כדי להשלים מדריך זה, הקפד להעתיק את האסימון או לאחסן אותו בצורה מאובטחת לאחר אחזורו.
עם ההפעלה הראשונית של האפליקציה שלך, FCM SDK מייצר אסימון רישום עבור מופע אפליקציית הלקוח. אם ברצונך למקד למכשירים בודדים או ליצור קבוצות מכשירים, תצטרך לגשת לאסימון זה על ידי הרחבת FirebaseMessagingService
ועקיפה על onNewToken
.
סעיף זה מתאר כיצד לאחזר את האסימון וכיצד לנטר שינויים באסימון. מכיוון שניתן היה לסובב את האסימון לאחר ההפעלה הראשונית, מומלץ מאוד לאחזר את אסימון הרישום המעודכן האחרון.
אסימון הרישום עשוי להשתנות כאשר:
- האפליקציה משוחזרת במכשיר חדש
- המשתמש מסיר/מתקין מחדש את האפליקציה
- המשתמש מנקה את נתוני האפליקציה.
אחזר את אסימון הרישום הנוכחי
כאשר אתה צריך לאחזר את האסימון הנוכחי, התקשר ל- FirebaseMessaging.getInstance().getToken()
:
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() })
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(); } });
מעקב אחר יצירת אסימונים
ההתקשרות חוזרת onNewToken
מופעלת בכל פעם שנוצר אסימון חדש.
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) }
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); }
לאחר שהשגת את האסימון, תוכל לשלוח אותו לשרת האפליקציה שלך ולאחסן אותו בשיטה המועדפת עליך.
שלח הודעת התראה על בדיקה
התקן והפעל את האפליקציה במכשיר היעד. במכשירי אפל, תצטרך לאשר את בקשת ההרשאה לקבלת הודעות מרחוק.
ודא שהאפליקציה נמצאת ברקע במכשיר.
במסוף Firebase, פתח את דף ההודעות .
אם זו ההודעה הראשונה שלך, בחר צור את מסע הפרסום הראשון שלך .
- בחר הודעות Firebase Notification ובחר צור .
אחרת, בכרטיסייה מסעות פרסום , בחר מסע פרסום חדש ולאחר מכן הודעות .
הזן את טקסט ההודעה. כל שאר השדות הם אופציונליים.
בחר שלח הודעת בדיקה מהחלונית הימנית.
בשדה שכותרתו הוסף אסימון רישום של FCM , הזן את אסימון הרישום שהשגת בסעיף קודם של מדריך זה.
בחר בדיקה .
לאחר שתבחר בדוק , מכשיר הלקוח הממוקד (עם האפליקציה ברקע) אמור לקבל את ההודעה.
לקבלת תובנות לגבי מסירת הודעות לאפליקציה שלך, עיין בלוח המחוונים לדיווח של FCM , שמתעד את מספר ההודעות שנשלחו ונפתחו במכשירי אפל ו-Android, יחד עם נתונים עבור "הופעות" (התראות שנראו על ידי משתמשים) עבור אפליקציות Android.
הצעדים הבאים
שלח הודעות לאפליקציות בחזית
לאחר ששלחת בהצלחה הודעות התראה כשהאפליקציה שלך ברקע, ראה קבלת הודעות באפליקציית Android כדי להתחיל לשלוח לאפליקציות בחזית.
מעבר להודעות הודעות
כדי לעבור מעבר להודעות הודעות ולהוסיף התנהגות אחרת ומתקדמת יותר לאפליקציה שלך, ראה: