Build android messaging app

Set up a Firebase Cloud Messaging client app on Android

To write your Firebase Cloud Messaging Android client app, use the FirebaseMessaging API and Android Studio 1.4 or higher with Gradle. The instructions in this page assume that you have completed the steps for adding Firebase to your Android project.

FCM clients require devices running Android 4.4 or higher that also have the Google Play Store app installed, or an emulator running Android 4.4 with Google APIs. Note that you are not limited to deploying your Android apps through Google Play Store.

Set up the SDK

This section covers tasks you may have completed if you have already enabled other Firebase features for your app.

Before you begin

Install or update Android Studio to its latest version.

Make sure that your project meets these requirements:

  • Targets API level 19 (KitKat) or higher
  • Uses Android 4.4 or higher
  • Uses Jetpack (AndroidX), which includes meeting these version requirements:
    • com.android.tools.build:gradle v3.2.1 or later
    • compileSdkVersion 28 or later

Set up a physical device or use an emulator to run your app.
Note that Firebase SDKs with a dependency on Google Play services require the device or emulator to have Google Play services installed.

Sign into Firebase using your Google account.

If you don’t already have an Android project and just want to try out a Firebase product, you can download one of our quickstart samples.

Create a Firebase project

Before you can add Firebase to your Android app, you need to create a Firebase project to connect to your Android app. Visit Understand Firebase Projects to learn more about Firebase projects.

Create a Firebase project

In the Firebase console, click Add project.

To add Firebase resources to an existing Google Cloud project, enter its project name or select it from the dropdown menu.

To create a new project, enter the desired project name. You can also optionally edit the project ID displayed below the project name.

Читайте также:  Хил клим рейсинг для андроид

If prompted, review and accept the Firebase terms.

Click Continue.

(Optional) Set up Google Analytics for your project, which enables you to have an optimal experience using any of the following Firebase products:

Either select an existing Google Analytics account or to create a new account.

If you create a new account, select your Analytics reporting location, then accept the data sharing settings and Google Analytics terms for your project.

Click Create project (or Add Firebase, if you’re using an existing Google Cloud project).

Firebase automatically provisions resources for your Firebase project. When the process completes, you’ll be taken to the overview page for your Firebase project in the Firebase console.

Register your app with Firebase

To use Firebase in your Android app, you need to register your app with your Firebase project. Registering your app is often called «adding» your app to your project.

Note: Visit Understand Firebase Projects to learn more about best practices and considerations for adding apps to a Firebase project, including how to handle multiple build variants.

In the center of the project overview page, click the Android icon ( plat_android ) or Add app to launch the setup workflow.

Enter your app’s package name in the Android package name field.

What’s a package name, and where do you find it?

A package name uniquely identifies your app on the device and in the Google Play Store.

A package name is often referred to as an application ID.

Find your app’s package name in your module (app-level) Gradle file, usually app/build.gradle (example package name: com.yourcompany.yourproject ).

Be aware that the package name value is case-sensitive, and it cannot be changed for this Firebase Android app after it’s registered with your Firebase project.

(Optional) Enter other app information: App nickname and Debug signing certificate SHA-1.

How are the App nickname and the Debug signing certificate SHA-1 used within Firebase?

App nickname: An internal, convenience identifier that is only visible to you in the Firebase console

Debug signing certificate SHA-1: A SHA-1 hash is required by Firebase Authentication (when using Google Sign In or phone number sign in) and Firebase Dynamic Links.

Click Register app.

Add a Firebase configuration file

Add the Firebase Android configuration file to your app:

Читайте также:  Как nokia lumia 520 прошивка android

Click Download google-services.json to obtain your Firebase Android config file ( ).

Move your config file into the module (app-level) directory of your app.

What do you need to know about this config file?

The Firebase config file contains unique, but non-secret identifiers for your project. To learn more about this config file, visit Understand Firebase Projects.

You can download your Firebase config file again at any time.

Make sure the config file name is not appended with additional characters, like (2) .

To enable Firebase products in your app, add the google-services plugin to your Gradle files.

In your root-level (project-level) Gradle file ( build.gradle ), add rules to include the Google Services Gradle plugin. Check that you have Google’s Maven repository, as well.

In your module (app-level) Gradle file (usually app/build.gradle ), apply the Google Services Gradle plugin:

Add Firebase SDKs to your app

Using the Firebase Android BoM, declare the dependency for the Firebase Cloud Messaging Android library in your module (app-level) Gradle file (usually app/build.gradle ).

For an optimal experience with Firebase Cloud Messaging, we recommend enabling Google Analytics in your Firebase project and adding the Firebase SDK for Google Analytics to your app.

By using the Firebase Android BoM, your app will always use compatible versions of the Firebase Android libraries.

(Alternative) Declare Firebase library dependencies without using the BoM

If you choose not to use the Firebase BoM, you must specify each Firebase library version in its dependency line.

Note that if you use multiple Firebase libraries in your app, we highly recommend using the BoM to manage library versions, which ensures that all versions are compatible.

Kotlin+KTX

By using the Firebase Android BoM, your app will always use compatible versions of the Firebase Android libraries.

(Alternative) Declare Firebase library dependencies without using the BoM

If you choose not to use the Firebase BoM, you must specify each Firebase library version in its dependency line.

Note that if you use multiple Firebase libraries in your app, we highly recommend using the BoM to manage library versions, which ensures that all versions are compatible.

Sync your app to ensure that all dependencies have the necessary versions.

Getting a build failure about invoke-custom support and enabling desugaring? Here’s how to fix it.

Gradle builds that use Android Gradle plugin (AGP) v4.2 or earlier need to enable Java 8 support. Otherwise, these Android projects get a build failure when adding a Firebase SDK.

To fix this build failure, you can follow one of two options:

  • Add the listed compileOptions from the error message to your app-level build.gradle file.
  • Increase the minSdkVersion for your Android project to 26 or above.
Читайте также:  Рут для андроида планшет

Learn more about this build failure in this FAQ.

Edit your app manifest

Add the following to your app’s manifest:

  • A service that extends FirebaseMessagingService . This is required if you want to do any message handling beyond receiving notifications on apps in the background. To receive notifications in foregrounded apps, to receive data payload, to send upstream messages, and so on, you must extend this service.
  • (Optional) Within the application component, metadata elements to set a default notification icon and color. Android uses these values whenever incoming messages do not explicitly set icon or color.
  • (Optional) From Android 8.0 (API level 26) and higher, notification channels are supported and recommended. FCM provides a default notification channel with basic settings. If you prefer to create and use your own default channel, set default_notification_channel_id to the ID of your notification channel object as shown; FCM will use this value whenever incoming messages do not explicitly set a notification channel. To learn more, see Manage notification channels.

Access the device registration token

On initial startup of your app, the FCM SDK generates a registration token for the client app instance. If you want to target single devices or create device groups, you’ll need to access this token by extending FirebaseMessagingService and overriding onNewToken .

This section describes how to retrieve the token and how to monitor changes to the token. Because the token could be rotated after initial startup, you are strongly recommended to retrieve the latest updated registration token.

The registration token may change when:

  • The app is restored on a new device
  • The user uninstalls/reinstall the app
  • The user clears app data.

Retrieve the current registration token

When you need to retrieve the current token, call FirebaseMessaging.getInstance().getToken() :

Kotlin+KTX

Monitor token generation

The onNewToken callback fires whenever a new token is generated.

Источник

Оцените статью