FCM рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рдпреВрдЬрд╝ рдХреЗрд╕ рдмрдирд╛рдПрдВ: рд╕реВрдЪрдирд╛ рдХрдВрдкреЛрдЬрд╝рд░ рд╕реЗ рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рд╕реВрдЪрдирд╛ рдХрд╛ рдЯреЗрд╕реНрдЯ рдореИрд╕реЗрдЬ рднреЗрдЬреЗрдВ. рдРрд╕рд╛ рддрдм рдХрд░реЗрдВ, рдЬрдм рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдРрдкреНрд▓рд┐рдХреЗрд╢рди рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рдореЗрдВ рд╣реЛ. рдЗрд╕ рдкреЗрдЬ рдкрд░, рд╕реЗрдЯрдЕрдк рд╕реЗ рд▓реЗрдХрд░ рдкреБрд╖реНрдЯрд┐ рддрдХ, рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдЪрд╛рд▓реВ рдХрд░рдиреЗ рдХреЗ рд╕рднреА рдЪрд░рдгреЛрдВ рдХреА рд╕реВрдЪреА рджреА рдЧрдИ рд╣реИ. рдЕрдЧрд░ рдЖрдкрдиреЗ FCM рдХреЗ рд▓рд┐рдП Android рдХреНрд▓рд╛рдЗрдВрдЯ рдРрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗрдЯ рдЕрдк рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдореЗрдВ рд╡реЗ рдЪрд░рдг рднреА рд╢рд╛рдорд┐рд▓ рд╣реЛрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдкрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдкреВрд░рд╛ рдХрд░ рд▓рд┐рдпрд╛ рд╣реЛ.
рдПрд╕рдбреАрдХреЗ рдЯреВрд▓ рд╕реЗрдЯ рдЕрдк рдХрд░рдирд╛
рдЗрд╕ рд╕реЗрдХреНрд╢рди рдореЗрдВ рдЙрди рдЯрд╛рд╕реНрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдкрдиреЗ рд╢рд╛рдпрдж рдкрд╣рд▓реЗ рд╣реА рдкреВрд░рд╛ рдХрд░ рд▓рд┐рдпрд╛ рд╣реЛ. рдРрд╕рд╛ рддрдм рд╣реЛрддрд╛ рд╣реИ, рдЬрдм рдЖрдкрдиреЗ рдЕрдкрдиреЗ рдРрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП Firebase рдХреА рдЕрдиреНрдп рд╕реБрд╡рд┐рдзрд╛рдПрдВ рдкрд╣рд▓реЗ рд╣реА рдЪрд╛рд▓реВ рдХрд░ рд▓реА рд╣реЛрдВ.
рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ
Android Studio рдХреЛ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ рдпрд╛ рдЙрд╕реЗ рдирдП рд╡рд░реНрд╢рди рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ.
рдкрдХреНрдХрд╛ рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЗрди рдЬрд╝рд░реВрд░реА рд╢рд░реНрддреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реЛ. рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдХреБрдЫ рдкреНрд░реЙрдбрдХреНрдЯ рдХреЗ рд▓рд┐рдП, рдпреЗ рдЬрд╝рд░реВрд░реА рд╢рд░реНрддреЗрдВ рдЬрд╝реНрдпрд╛рджрд╛ рд╕рдЦреНрдд рд╣реЛ рд╕рдХрддреА рд╣реИрдВ:
- рдПрдкреАрдЖрдИ рд▓реЗрд╡рд▓ 21 (Lollipop) рдпрд╛ рдЙрд╕рдХреЗ рдмрд╛рдж рдХреЗ рд╡рд░реНрд╢рди рдХреЛ рдЯрд╛рд░рдЧреЗрдЯ рдХрд░рддрд╛ рд╣реЛ
- Android 5.0 рдпрд╛ рдЗрд╕рдХреЗ рдмрд╛рдж рд╡рд╛рд▓реЗ рд╡рд░реНрд╢рди рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рддрд╛ рд╣реЛ
- Jetpack (AndroidX) рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рддрд╛ рд╣реЛ. рдЗрд╕рдореЗрдВ рд╡рд░реНрд╢рди рд╕реЗ рдЬреБрдбрд╝реА рдпреЗ рдЬрд╝рд░реВрд░реА рд╢рд░реНрддреЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:
com.android.tools.build:gradle
v7.3.0 рдпрд╛ рдЙрд╕рдХреЗ рдмрд╛рдж рдХреЗ рд╡рд░реНрд╢рдиcompileSdkVersion
28 рдпрд╛ рдЙрд╕рдХреЗ рдмрд╛рдж
рдЕрдкрдиреЗ рдРрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдХрд┐рд╕реА рдлрд╝рд┐рдЬрд╝рд┐рдХрд▓ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рд╕реЗрдЯ рдЕрдк рдХрд░реЗрдВ рдпрд╛ рдПрдореНрдпреБрд▓реЗрдЯрд░ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░реЗрдВ.
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ Google Play services рдкрд░ рдирд┐рд░реНрднрд░ рд░рд╣рдиреЗ рд╡рд╛рд▓реЗ Firebase SDK рдЯреВрд▓ рдХреЗ рд▓рд┐рдП, рдбрд┐рд╡рд╛рдЗрд╕ рдпрд╛ рдПрдореНрдпреБрд▓реЗрдЯрд░ рдкрд░ Google Play services рдЗрдВрд╕реНрдЯреЙрд▓ рд╣реЛрдирд╛ рдЬрд╝рд░реВрд░реА рд╣реИ.рдЕрдкрдиреЗ Google рдЦрд╛рддреЗ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рдХреЗ, Firebase рдореЗрдВ рд╕рд╛рдЗрди рдЗрди рдХрд░реЗрдВ.
рдЕрдЧрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рдХреЛрдИ Android рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╣реАрдВ рд╣реИ рдФрд░ рдЖрдкрдХреЛ рд╕рд┐рд░реНрдлрд╝ Firebase рдкреНрд░реЙрдбрдХреНрдЯ рдЖрдЬрд╝рдорд╛рдирд╛ рд╣реИ, рддреЛ рд╣рдорд╛рд░реЗ рдХреНрд╡рд┐рдХрд╕реНрдЯрд╛рд░реНрдЯ рд╕реИрдВрдкрд▓ рдореЗрдВ рд╕реЗ рдХреЛрдИ рдПрдХ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ.
Firebase рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдирд╛
рдЕрдкрдиреЗ Android рдРрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ Firebase рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рдПрдХ Firebase рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛, рддрд╛рдХрд┐ рдЙрд╕реЗ рдЕрдкрдиреЗ Android рдРрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ. Firebase рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╝реНрдпрд╛рджрд╛ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП, Firebase рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдиреЗрдВ рдкрд░ рдЬрд╛рдПрдВ.
рдЕрдкрдиреЗ рдРрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ Firebase рдХреЗ рд╕рд╛рде рд░рдЬрд┐рд╕реНрдЯрд░ рдХрд░рдирд╛
рдЕрдкрдиреЗ Android рдРрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ Firebase рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдРрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ Firebase рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рд░рдЬрд┐рд╕реНрдЯрд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛. рдРрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд░рдЬрд┐рд╕реНрдЯрд░ рдХрд░рдиреЗ рдХреЛ рдЕрдХреНрд╕рд░, рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдРрдкреНрд▓рд┐рдХреЗрд╢рди "рдЬреЛрдбрд╝рдирд╛" рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ.
Firebase рдХрдВрд╕реЛрд▓ рдкрд░ рдЬрд╛рдПрдВ.
рд╕реЗрдЯрдЕрдк рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреА рдЦрд╛рд╕ рдЬрд╛рдирдХрд╛рд░реА рд╡рд╛рд▓реЗ рдкреЗрдЬ рдХреЗ рдмреАрдЪ рдореЗрдВ рдореМрдЬреВрдж Android рдЖрдЗрдХреЙрди (
) рдпрд╛ рдРрдкреНрд▓рд┐рдХреЗрд╢рди рдЬреЛрдбрд╝реЗрдВ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ.Android рдкреИрдХреЗрдЬ рдХрд╛ рдирд╛рдо рдлрд╝реАрд▓реНрдб рдореЗрдВ, рдЕрдкрдиреЗ рдРрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдкреИрдХреЗрдЬ рдХрд╛ рдирд╛рдо рдбрд╛рд▓реЗрдВ.
(рдЬрд╝рд░реВрд░реА рдирд╣реАрдВ) рдРрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рдЕрдиреНрдп рдЬрд╛рдирдХрд╛рд░реА рдбрд╛рд▓реЗрдВ: рдРрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдирд┐рдХрдиреЗрдо рдФрд░ рдбреАрдмрдЧ рд╕рд╛рдЗрдирд┐рдВрдЧ рд╕рд░реНрдЯрд┐рдлрд╝рд┐рдХреЗрдЯ SHA-1.
рдРрдкреНрд▓рд┐рдХреЗрд╢рди рд░рдЬрд┐рд╕реНрдЯрд░ рдХрд░реЗрдВ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ.
Firebase рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдЬреЛрдбрд╝рдирд╛
рдЕрдкрдиреЗ рдРрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА Firebase рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ (
) рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рдлрд┐рд░ рдЙрд╕реЗ рдЕрдкрдиреЗ рдХреЛрдбрдмреЗрд╕ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ:google-services.json рдЕрдкрдиреЗ рдРрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА Firebase рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, google-services.json рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ.
рдЕрдкрдиреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЕрдкрдиреЗ рдРрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рдореЙрдбреНрдпреВрд▓ (рдРрдкреНрд▓рд┐рдХреЗрд╢рди-рд▓реЗрд╡рд▓) рд░реВрдЯ рдбрд╛рдпрд░реЗрдХреНрдЯреНрд░реА рдореЗрдВ рд▓реЗ рдЬрд╛рдПрдВ.
рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдореМрдЬреВрдж рд╡реИрд▓реНрдпреВ рдХреЛ Firebase SDK рдЯреВрд▓ рдХреЗ рд▓рд┐рдП рдРрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рд▓рд╛рдпрдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ Google services Gradle рдкреНрд▓рдЧрд┐рди (google-services.json google-services
) рдХреА рдЬрд╝рд░реВрд░рдд рд╣реЛрдЧреА.рдЕрдкрдиреА рд░реВрдЯ-рд▓реЗрд╡рд▓ (рдкреНрд░реЛрдЬреЗрдХреНрдЯ-рд▓реЗрд╡рд▓) Gradle рдлрд╝рд╛рдЗрд▓ (
<project>/build.gradle.kts
рдпрд╛<project>/build.gradle
) рдореЗрдВ, Google services plugin рдХреЛ рдбрд┐рдкреЗрдВрдбреЗрдВрд╕реА рдХреЗ рддреМрд░ рдкрд░ рдЬреЛрдбрд╝реЗрдВ: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.3" 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.3' apply false }
рдЕрдкрдиреА рдореЙрдбреНрдпреВрд▓ (рдРрдкреНрд▓рд┐рдХреЗрд╢рди-рд▓реЗрд╡рд▓) Gradle рдлрд╝рд╛рдЗрд▓ (рдЖрдо рддреМрд░ рдкрд░
<project>/<app-module>/build.gradle.kts
рдпрд╛<project>/<app-module>/build.gradle
) рдореЗрдВ, Google services plugin рдЬреЛрдбрд╝реЗрдВ: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 SDK рдЯреВрд▓ рдЬреЛрдбрд╝рдирд╛
рдЕрдкрдиреА рдореЙрдбреНрдпреВрд▓ (рдРрдкреНрд▓рд┐рдХреЗрд╢рди-рд▓реЗрд╡рд▓) рдХреА Gradle рдлрд╝рд╛рдЗрд▓ (рдЖрдо рддреМрд░ рдкрд░
<project>/<app-module>/build.gradle.kts
рдпрд╛<project>/<app-module>/build.gradle
) рдореЗрдВ, Android рдХреЗ рд▓рд┐рдП Firebase Cloud Messaging рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреА рдбрд┐рдкреЗрдВрдбреЗрдВрд╕реА рдЬреЛрдбрд╝реЗрдВ. рд╣рдорд╛рд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд╡рд░реНрд╢рди рдХреЛ рдХрдВрдЯреНрд░реЛрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, Firebase Android BoM рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░реЗрдВ.Firebase Cloud Messaging рдХрд╛ рдмреЗрд╣рддрд░ рддрд░реАрдХреЗ рд╕реЗ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рдЖрдк рдЕрдкрдиреЗ Firebase рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ Google Analytics рдЪрд╛рд▓реВ рдХрд░реЗрдВ. рд╕рд╛рде рд╣реА, рдЕрдкрдиреЗ рдРрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ Google Analytics рдХреЗ рд▓рд┐рдП Firebase SDK рдЯреВрд▓ рдЬреЛрдбрд╝реЗрдВ.
dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:34.2.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 рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╡рд░реНрд╢рди рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░реЗрдЧрд╛.
(рд╡реИрдХрд▓реНрдкрд┐рдХ) BoM рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдП рдмрд┐рдирд╛, Firebase рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреА рдбрд┐рдкреЗрдВрдбреЗрдВрд╕реА рдЬреЛрдбрд╝реЗрдВ
рдЕрдЧрд░ рдЖрдкрдХреЛ 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:25.0.0") implementation("com.google.firebase:firebase-analytics:23.0.0") }
рдЕрдкрдиреЗ Android рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ Gradle рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рд╕рд┐рдВрдХ рдХрд░реЗрдВ.
рд░рдЬрд┐рд╕реНрдЯреНрд░реЗрд╢рди рдЯреЛрдХрди рдРрдХреНрд╕реЗрд╕ рдХрд░рдирд╛
рдХрд┐рд╕реА рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдореИрд╕реЗрдЬ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЙрд╕ рдбрд┐рд╡рд╛рдЗрд╕ рдХрд╛ рд░рдЬрд┐рд╕реНрдЯреНрд░реЗрд╢рди рдЯреЛрдХрди рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП. рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╕реВрдЪрдирд╛рдУрдВ рд╡рд╛рд▓реА рдХрдВрд╕реЛрд▓ рдореЗрдВ рдореМрдЬреВрдж рдлрд╝реАрд▓реНрдб рдореЗрдВ рдЯреЛрдХрди рдбрд╛рд▓рдирд╛ рд╣реЛрдЧрд╛. рдЗрд╕рд▓рд┐рдП, рдЯреЛрдХрди рдкрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдЙрд╕реЗ рдХреЙрдкреА рдХрд░рдирд╛ рдпрд╛ рд╕реБрд░рдХреНрд╖рд┐рдд рддрд░реАрдХреЗ рд╕реЗ рд╕реЗрд╡ рдХрд░рдирд╛ рди рднреВрд▓реЗрдВ.
рдЖрдкрдХреЗ рдРрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдкрд╣рд▓реА рдмрд╛рд░ рд╢реБрд░реВ рд╣реЛрдиреЗ рдкрд░, FCM SDK, рдХреНрд▓рд╛рдЗрдВрдЯ рдРрдкреНрд▓рд┐рдХреЗрд╢рди рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдХреЗ рд▓рд┐рдП рд░рдЬрд┐рд╕реНрдЯреНрд░реЗрд╢рди рдЯреЛрдХрди рдЬрдирд░реЗрдЯ рдХрд░рддрд╛ рд╣реИ. рдЕрдЧрд░ рдЖрдкрдХреЛ рдХрд┐рд╕реА рдПрдХ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рдЯрд╛рд░рдЧреЗрдЯ рдХрд░рдирд╛ рд╣реИ рдпрд╛ рдбрд┐рд╡рд╛рдЗрд╕ рдЧреНрд░реБрдк рдмрдирд╛рдиреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдЗрд╕ рдЯреЛрдХрди рдХреЛ рдРрдХреНрд╕реЗрд╕ рдХрд░рдирд╛ рд╣реЛрдЧрд╛. рдЗрд╕рдХреЗ рд▓рд┐рдП,
FirebaseMessagingService
рдХреЛ рдмрдврд╝рд╛рдПрдВ рдФрд░ onNewToken
рдХреЛ рдмрджрд▓реЗрдВ. рд╢реБрд░реБрдЖрдд рдореЗрдВ рдЯреЛрдХрди рд░реЛрдЯреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ. рдЗрд╕рд▓рд┐рдП, рд╣рдорд╛рд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рдЖрдк рд░рдЬрд┐рд╕реНрдЯреНрд░реЗрд╢рди рдХрд╛ рдирдпрд╛ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдЯреЛрдХрди рдкрд╛рдПрдВ.
рд░рдЬрд┐рд╕реНрдЯреНрд░реЗрд╢рди рдЯреЛрдХрди рдореЗрдВ рдЗрди рд╡рдЬрд╣реЛрдВ рд╕реЗ рдмрджрд▓рд╛рд╡ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:
- рдРрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдХрд┐рд╕реА рдирдП рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рд╡рд╛рдкрд╕ рд▓рд╛рдпрд╛ рдЧрдпрд╛ рд╣реЛ
- рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдРрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓/рдлрд┐рд░ рд╕реЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рддрд╛ рд╣реИ
- рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛, рдРрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдбреЗрдЯрд╛ рдорд┐рдЯрд╛рддрд╛ рд╣реИ.
рдореМрдЬреВрджрд╛ рд░рдЬрд┐рд╕реНрдЯреНрд░реЗрд╢рди рдЯреЛрдХрди рд╡рд╛рдкрд╕ рдкрд╛рдирд╛
рдЬрдм рдЖрдкрдХреЛ рдореМрдЬреВрджрд╛ рдЯреЛрдХрди рд╡рд╛рдкрд╕ рдкрд╛рдирд╛ рд╣реЛ, рддрдм
FirebaseMessaging.getInstance().getToken()
рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВ:
Kotlin
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
/** * 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); }
рдЯреЛрдХрди рдорд┐рд▓рдиреЗ рдХреЗ рдмрд╛рдж, рдЙрд╕реЗ рдЕрдкрдиреЗ рдРрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рд░реНрд╡рд░ рдкрд░ рднреЗрдЬрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ. рд╕рд╛рде рд╣реА, рдЕрдкрдиреА рдкрд╕рдВрдж рдХреЗ рддрд░реАрдХреЗ рд╕реЗ рдЙрд╕реЗ рд╕реЗрд╡ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ.
рдЯреЗрд╕реНрдЯ рдХреЗ рддреМрд░ рдкрд░ рд╕реВрдЪрдирд╛ рд╡рд╛рд▓рд╛ рдореИрд╕реЗрдЬ рднреЗрдЬрдирд╛
рдЯрд╛рд░рдЧреЗрдЯ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдРрдкреНрд▓рд┐рдХреЗрд╢рди рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ рдФрд░ рдЙрд╕реЗ рдЪрд▓рд╛рдПрдВ. Apple рдбрд┐рд╡рд╛рдЗрд╕реЛрдВ рдкрд░, рдЖрдкрдХреЛ рд░рд┐рдореЛрдЯ рд╕реВрдЪрдирд╛рдПрдВ рдкрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХрд╛ рдЕрдиреБрд░реЛрдз рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛.
рдкрдХреНрдХрд╛ рдХрд░реЗрдВ рдХрд┐ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдРрдкреНрд▓рд┐рдХреЗрд╢рди рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рдореЗрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реЛ.
Firebase рдХрдВрд╕реЛрд▓ рдореЗрдВ, рдореИрд╕реЗрдЬрд┐рдВрдЧ рдкреЗрдЬ рдЦреЛрд▓реЗрдВ.
рдЕрдЧрд░ рдпрд╣ рдЖрдкрдХрд╛ рдкрд╣рд▓рд╛ рдореИрд╕реЗрдЬ рд╣реИ, рддреЛ рдЕрдкрдирд╛ рдкрд╣рд▓рд╛ рдХреИрдВрдкреЗрди рдмрдирд╛рдПрдВ рдХреЛ рдЪреБрдиреЗрдВ.
- Firebase рд╕реВрдЪрдирд╛ рд╡рд╛рд▓реЗ рдореИрд╕реЗрдЬ рдЪреБрдиреЗрдВ. рдЗрд╕рдХреЗ рдмрд╛рдж, рдмрдирд╛рдПрдВ рдЪреБрдиреЗрдВ.
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХреИрдВрдкреЗрди рдЯреИрдм рдкрд░ рдЬрд╛рдХрд░, рдирдпрд╛ рдХреИрдВрдкреЗрди рдФрд░ рдлрд┐рд░ рд╕реВрдЪрдирд╛рдПрдВ рдЪреБрдиреЗрдВ.
рдореИрд╕реЗрдЬ рдХрд╛ рдЯреЗрдХреНрд╕реНрдЯ рдбрд╛рд▓реЗрдВ. рдЕрдиреНрдп рд╕рднреА рдлрд╝реАрд▓реНрдб рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рджреЗрдирд╛ рдЬрд╝рд░реВрд░реА рдирд╣реАрдВ рд╣реИ.
рджрд╛рдПрдВ рдкреИрдирд▓ рдореЗрдВ рдореМрдЬреВрдж, рдЯреЗрд╕реНрдЯ рдореИрд╕реЗрдЬ рднреЗрдЬреЗрдВ рдХреЛ рдЪреБрдиреЗрдВ.
FCM рд░рдЬрд┐рд╕реНрдЯреНрд░реЗрд╢рди рдЯреЛрдХрди рдЬреЛрдбрд╝реЗрдВ рд▓реЗрдмрд▓ рд╡рд╛рд▓реЗ рдлрд╝реАрд▓реНрдб рдореЗрдВ, рд╡рд╣ рд░рдЬрд┐рд╕реНрдЯреНрд░реЗрд╢рди рдЯреЛрдХрди рдбрд╛рд▓реЗрдВ рдЬреЛ рдЖрдкрдХреЛ рдЗрд╕ рдЧрд╛рдЗрдб рдХреЗ рдкрд┐рдЫрд▓реЗ рд╕реЗрдХреНрд╢рди рдореЗрдВ рдорд┐рд▓рд╛ рдерд╛.
рдЬрд╛рдВрдЪреЗрдВ рдХреЛ рдЪреБрдиреЗрдВ.
рдЬрд╛рдВрдЪ рдХрд░реЗрдВ рдХреЛ рдЪреБрдирдиреЗ рдХреЗ рдмрд╛рдж, рдЯрд╛рд░рдЧреЗрдЯ рдХрд┐рдП рдЧрдП рдХреНрд▓рд╛рдЗрдВрдЯ рдбрд┐рд╡рд╛рдЗрд╕ (рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рдореЗрдВ рдРрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╕рд╛рде) рдХреЛ рд╕реВрдЪрдирд╛ рдорд┐рд▓рдиреА рдЪрд╛рд╣рд┐рдП.
рдЕрдкрдиреЗ рдРрдкреНрд▓рд┐рдХреЗрд╢рди рдкрд░ рдореИрд╕реЗрдЬ рдбрд┐рд▓реАрд╡рд░ рд╣реЛрдиреЗ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, FCM рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рдбреИрд╢рдмреЛрд░реНрдб рджреЗрдЦреЗрдВ. рдпрд╣ рдбреИрд╢рдмреЛрд░реНрдб, Apple рдФрд░ Android рдбрд┐рд╡рд╛рдЗрд╕реЛрдВ рдкрд░ рднреЗрдЬреЗ рдЧрдП рдФрд░ рдЦреЛрд▓реЗ рдЧрдП рдореИрд╕реЗрдЬ рдХреА рд╕рдВрдЦреНрдпрд╛ рд░рд┐рдХреЙрд░реНрдб рдХрд░рддрд╛ рд╣реИ. рд╕рд╛рде рд╣реА, Android рдРрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП "рдЗрдВрдкреНрд░реЗрд╢рди" (рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рджрд┐рдЦрдиреЗ рд╡рд╛рд▓реА рд╕реВрдЪрдирд╛рдПрдВ) рдХрд╛ рдбреЗрдЯрд╛ рднреА рд░рд┐рдХреЙрд░реНрдб рдХрд░рддрд╛ рд╣реИ.
рдЕрдЧрд▓реЗ рдЪрд░рдг
рдлрд╝реЛрд░рдЧреНрд░рд╛рдЙрдВрдб рдХрд┐рдП рдЧрдП рдРрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдореИрд╕реЗрдЬ рднреЗрдЬрдирд╛
рдЬрдм рдЖрдкрдХрд╛ рдРрдкреНрд▓рд┐рдХреЗрд╢рди рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рдореЗрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реЛ, рддрдм рд╕реВрдЪрдирд╛ рд╡рд╛рд▓реЗ рдореИрд╕реЗрдЬ рднреЗрдЬрдиреЗ рдХреЗ рдмрд╛рдж, рдлрд╝реЛрд░рдЧреНрд░рд╛рдЙрдВрдб рдореЗрдВ рдЪрд▓ рд░рд╣реЗ рдРрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдореИрд╕реЗрдЬ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП, Android рдРрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдореИрд╕реЗрдЬ рдкрд╛рдирд╛ рд▓реЗрдЦ рдкрдврд╝реЗрдВ.
рд╕реВрдЪрдирд╛ рд╡рд╛рд▓реЗ рдореИрд╕реЗрдЬ рд╕реЗ рдЖрдЧреЗ рдмрдврд╝реЗрдВ
рд╕реВрдЪрдирд╛ рд╡рд╛рд▓реЗ рдореИрд╕реЗрдЬ рд╕реЗ рдЖрдЧреЗ рдмрдврд╝рдХрд░, рдЕрдкрдиреЗ рдРрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдЕрдиреНрдп рдмреЗрд╣рддрд░ рд╕реБрд╡рд┐рдзрд╛рдПрдВ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рд▓реЗрдЦ рдкрдврд╝реЗрдВ:
- Android рдРрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдореИрд╕реЗрдЬ рдкрд╛рдирд╛
- рдПрдХ рд╕реЗ рдЬрд╝реНрдпрд╛рджрд╛ рдбрд┐рд╡рд╛рдЗрд╕реЛрдВ рдкрд░ рдореИрд╕реЗрдЬ рднреЗрдЬрдирд╛