Dès que j'ai mis à jour le flottement vers la version 1.12.13, j'ai trouvé ce problème et je ne peux pas le résoudre. J'ai fait comme le tutoriel firebase_messaging envoyé et j'ai obtenu l'erreur suivante: "erreur: types incompatibles: PluginRegistry ne peut pas être converti en FlutterEngine GeneratedPluginRegistrant.registerWith (registre);" Mon code est le suivant:
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
la source
la source
Réponses:
Mis à jour le 31 décembre 2019.
Vous ne devez pas utiliser l'outil de messagerie cloud Firebase pour envoyer des notifications, car il vous oblige à utiliser le titre et le corps.
Vous devez envoyer une notification sans le titre et le corps. avoir l'application en arrière-plan, cela devrait fonctionner pour vous.
Si cela fonctionne pour vous, je vous serais reconnaissant de bien vouloir me donner un vote sur cette réponse, merci.
J'ai trouvé une solution temporaire. Je ne suis pas sûr que ce soit la meilleure solution mais mes plugins fonctionnent comme prévu et je suppose que le problème doit être avec le registre fourni par io.flutter.plugins.firebasemessaging.FlutterFirebaseMessagingService sur la ligne 164.
Mon fichier AndroidManifest.xml:
My Application.java
My FirebaseCloudMessagingPluginRegistrant.java
Envoyer une notification dans dart:
J'ai ajouté une attente d'une durée de 5 secondes pour que vous puissiez mettre l'application en arrière-plan et vérifier que le message en arrière-plan est en cours d'exécution
la source
Un port du code de DomingoMG vers Kotlin peut être trouvé ci-dessous. Testé et fonctionnel en mars 2020.
pubspec.yaml
Application.kt
FirebaseCloudMessagingPluginRegistrant.kt
la source
Remplacez votre ligne de code ci-dessous:
avec ça:
la source
En plus de la réponse de DomingoMG, n'oubliez pas de supprimer
à partir du fichier d'activité principal sous le dossier android. Sinon, vous obtiendrez une erreur.
la source
J'ai ajouté uniquement la classe d'eau en plus des étapes du package de messagerie Firebase et cela a été résolu:
la source