Segera setelah saya memperbarui flutter ke versi 1.12.13 saya menemukan masalah ini dan tidak dapat memperbaikinya. Saya lakukan ketika tutorial firebase_messaging mengirim dan mendapatkan kesalahan berikut: "error: jenis yang tidak kompatibel: PluginRegistry tidak dapat dikonversi ke FlutterEngine GeneratedPluginRegistrant.registerWith (registry);" Kode saya adalah sebagai berikut:
package io.flutter.plugins;
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 android.app.NotificationChannel;
import android.app.NotificationManager;
import android.os.Build;
public class Application extends FlutterApplication implements PluginRegistrantCallback {
@Override
public void onCreate() {
super.onCreate();
FlutterFirebaseMessagingService.setPluginRegistrant(this);
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.O){
NotificationChannel channel = new NotificationChannel("messages","Messages", NotificationManager.IMPORTANCE_LOW);
NotificationManager manager = getSystemService(NotificationManager.class);
manager.createNotificationChannel(channel);
}
}
@Override
public void registerWith(PluginRegistry registry) {
GeneratedPluginRegistrant.registerWith(registry);
}
}
firebase
flutter
firebase-cloud-messaging
flutter-dependencies
Gabriel G. Pavan
sumber
sumber
Jawaban:
Diperbarui pada 31 Desember 2019.
Anda tidak boleh menggunakan alat perpesanan cloud Firebase untuk mengirim pemberitahuan, karena itu memaksa Anda untuk menggunakan judul dan isi.
Anda harus mengirim pemberitahuan tanpa judul dan isi. memiliki aplikasi di latar belakang, yang seharusnya bekerja untuk Anda.
Jika ini berhasil untuk Anda, saya akan sangat menghargai jika Anda dapat memberi saya suara untuk jawaban ini, terima kasih.
Saya telah menemukan solusi sementara. Saya tidak yakin ini adalah perbaikan terbaik tetapi plugin saya berfungsi seperti yang diharapkan dan saya berasumsi masalahnya harus dengan registri yang disediakan oleh io.flutter.plugins.firebasemessaging.FlutterFirebaseMessagingService on line 164.
File AndroidManifest.xml saya:
Application.java saya
FirebaseCloudMessagingPluginRegistrant.java saya
Kirim Pemberitahuan di panah:
Saya menambahkan tunggu dengan durasi 5 detik sehingga Anda dapat meletakkan aplikasi di latar belakang dan memverifikasi bahwa pesan di latar belakang sedang berjalan
sumber
Port kode DomingoMG ke Kotlin dapat ditemukan di bawah. Diuji dan bekerja pada Maret 2020.
pubspec.yaml
Application.kt
FirebaseCloudMessagingPluginRegistrant.kt
sumber
Ganti baris kode di bawah ini:
dengan ini:
sumber
Selain jawaban DomingoMG, jangan lupa hapus
dari file mainaktivitas di bawah folder android. Jika tidak, Anda akan mendapatkan kesalahan.
sumber
Saya menambahkan hanya kelas air sebagai tambahan dari langkah-langkah dalam paket Pesan Firebase dan telah terpecahkan:
sumber