diff --git a/packages/firebase_messaging/README.md b/packages/firebase_messaging/README.md index 14313e6b489e..8ba67f33a3cf 100644 --- a/packages/firebase_messaging/README.md +++ b/packages/firebase_messaging/README.md @@ -73,7 +73,7 @@ By default background messaging is not enabled. To handle messages in the backgr Note: you can find out what the latest version of the plugin is [here ("Cloud Messaging")](https://firebase.google.com/support/release-notes/android#latest_sdk_versions). -1. Add an `Application.java` class to your app in the same directory as your `MainActivity.java`. This is typically found in `/android/app/src/main/java//`. +1. Add an `Application.java` or `Application.kt` class to your app in the same directory as your `MainActivity.java` or `MainActivity.kt`. This is typically found in `/android/app/src/main/java//` or `/android/app/src/main/kotlin//`. ```java package io.flutter.plugins.firebasemessagingexample; @@ -83,6 +83,7 @@ By default background messaging is not enabled. To handle messages in the backgr import io.flutter.plugin.common.PluginRegistry.PluginRegistrantCallback; import io.flutter.plugins.GeneratedPluginRegistrant; import io.flutter.plugins.firebasemessaging.FlutterFirebaseMessagingService; + import io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin; public class Application extends FlutterApplication implements PluginRegistrantCallback { @Override @@ -93,12 +94,33 @@ By default background messaging is not enabled. To handle messages in the backgr @Override public void registerWith(PluginRegistry registry) { - GeneratedPluginRegistrant.registerWith(registry); + FirebaseMessagingPlugin.registerWith(registry.registrarFor("io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin")); } } ``` -1. In `Application.java`, make sure to change `package io.flutter.plugins.firebasemessagingexample;` to your package's identifier. Your package's identifier should be something like `com.domain.myapplication`. +```kotlin + package io.flutter.plugins.firebasemessagingexample; + + import io.flutter.app.FlutterApplication + import io.flutter.plugin.common.PluginRegistry + import io.flutter.plugin.common.PluginRegistry.PluginRegistrantCallback + import io.flutter.plugins.GeneratedPluginRegistrant + import io.flutter.plugins.firebasemessaging.FlutterFirebaseMessagingService + import io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin + + class Application:FlutterApplication(), PluginRegistrantCallback { + override fun onCreate() { + super.onCreate() + FlutterFirebaseMessagingService.setPluginRegistrant(this) + } + override fun registerWith(registry:PluginRegistry) { + FirebaseMessagingPlugin.registerWith(registry.registrarFor("io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin")) + } + } + ``` + +1. In `Application.java` or `Application.kt`, make sure to change `package io.flutter.plugins.firebasemessagingexample;` to your package's identifier. Your package's identifier should be something like `com.domain.myapplication`. ```java package com.domain.myapplication;