Assim que atualizei o flutter para a versão 1.12.13, encontrei esse problema e não consigo corrigi-lo. Fiz como o tutorial firebase_messaging enviado e recebi o seguinte erro: "erro: tipos incompatíveis: PluginRegistry não pode ser convertido em FlutterEngine GeneratedPluginRegistrant.registerWith (registry);" Meu código é o seguinte:
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
fonte
fonte
Respostas:
Atualizado em 31 de dezembro de 2019.
Você não deve usar a ferramenta de mensagens em nuvem do Firebase para enviar notificações, pois ela o força a usar o título e o corpo.
Você deve enviar uma notificação sem o título e o corpo. tenha o aplicativo em segundo plano, que deve funcionar para você.
Se funcionar para você, eu apreciaria se você pudesse me votar nesta resposta, obrigado.
Eu encontrei uma solução temporária. Não sei se essa é a melhor correção, mas meus plug-ins funcionam como esperado e presumo que o problema esteja no registro fornecido por io.flutter.plugins.firebasemessaging.FlutterFirebaseMessagingService na linha 164.
Meu arquivo AndroidManifest.xml:
My Application.java
My FirebaseCloudMessagingPluginRegistrant.java
Enviar notificação no dardo:
Adicionei uma espera com duração de 5 segundos para que você possa colocar o aplicativo em segundo plano e verificar se a mensagem em segundo plano está sendo executada
fonte
Uma porta do código do DomingoMG para Kotlin pode ser encontrada abaixo. Testado e funcionando em março de 2020.
pubspec.yaml
Application.kt
FirebaseCloudMessagingPluginRegistrant.kt
fonte
Substitua sua linha de código abaixo:
com isso:
fonte
Além da resposta do DomingoMG, não se esqueça de remover
do arquivo de atividade na pasta android. Caso contrário, você receberá um erro.
fonte
Adicionei apenas a classe água como extra nas etapas do pacote Firebase Messaging e foi resolvido:
fonte