web-dev-qa-db-ja.com

KotlinのFirebaseメッセージングハンドルバックグラウンドメッセージ

Flutterアプリケーションで firebase_messaging を使用しています。パブでFirebaseメッセージングを使用してバックグラウンドメッセージを処理するために、新しいApplication.Javaファイルを作成し、Java AndroidManifestファイルのファイル名を置き換える)を提案しました。

私のアプリケーションでは、kotlinを使用しており、MainActivity.ktにいくつかのネイティブコードを既に実装しています

それで、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;

public class Application extends FlutterApplication implements PluginRegistrantCallback {
 @Override
public void onCreate() {
 super.onCreate();
 FlutterFirebaseMessagingService.setPluginRegistrant(this);
 }

@Override
public void registerWith(PluginRegistry registry) {
 GeneratedPluginRegistrant.registerWith(registry);
}
}

androidManifestファイルのMainActivityをApplicationに置き換えることは必須ですか?

6
MSARKrish

動作するバックグラウンド通知のkotlinコードは次のとおりです。

package com.example.yourapp

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

class Application : FlutterApplication(), PluginRegistrantCallback {

    override fun onCreate() {
        super.onCreate()
        FlutterFirebaseMessagingService.setPluginRegistrant(this);
    }

    override fun registerWith(registry: PluginRegistry?) {
        io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin.registerWith(registry?.registrarFor("io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin"));
    }
}
13
Daniel Walter