Tan pronto como actualicé el flutter a la versión 1.12.13, encontré este problema y no puedo solucionarlo. Hice lo que envió el tutorial firebase_messaging y recibí el siguiente error: "error: tipos incompatibles: PluginRegistry no se puede convertir a FlutterEngine GeneratedPluginRegistrant.registerWith (registro);" Mi código es el siguiente:
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
fuente
fuente
Respuestas:
Actualizado el 31 de diciembre de 2019.
No debes usar la herramienta de mensajería en la nube Firebase para enviar notificaciones, ya que te obliga a usar el título y el cuerpo.
Debe enviar una notificación sin el título y el cuerpo. tener la aplicación en segundo plano, eso debería funcionar para usted.
Si te funciona, te agradecería que me dieras un voto sobre esta respuesta, gracias.
He encontrado una solución temporal. No estoy seguro de que esta sea la mejor solución, pero mis complementos funcionan como se esperaba y supongo que el problema tiene que ver con el registro proporcionado por io.flutter.plugins.firebasemessaging.FlutterFirebaseMessagingService en la línea 164.
Mi archivo AndroidManifest.xml:
My Application.java
Mi FirebaseCloudMessagingPluginRegistrant.java
Enviar notificación en dardo:
Agregué una espera con una duración de 5 segundos para que pueda poner la aplicación en segundo plano y verificar que el mensaje en segundo plano se esté ejecutando
fuente
Un puerto del código de DomingoMG a Kotlin se puede encontrar a continuación. Probado y funcionando en marzo de 2020.
pubspec.yaml
Application.kt
FirebaseCloudMessagingPluginRegistrant.kt
fuente
Reemplace su línea de código a continuación:
con este:
fuente
Además de la respuesta de DomingoMG, no olvides eliminar
desde el archivo de mainactividad en la carpeta de Android. Si no, obtendrá un error.
fuente
Agregué solo la clase de agua como extra de los pasos en el paquete de Firebase Messaging y se resolvió:
fuente