Como no título, qual é a solução atual para receber dados personalizados quando o usuário clica em uma notificação quando o aplicativo é finalizado?
Parece que no Android não é possível receber uma mensagem de dados no onLaunch (que é a maneira ideal) No IOS, eu ainda não havia tentado desde que estou enfrentando esse problema primeiro.
Qualquer pista?
Informações adicionais: a notificação que estou enviando por um firebase cloud function
está neste formulário:
"message":{
"token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
"notification":{
"title":"Portugal vs. Denmark",
"body":"great match!"
},
"data" : {
"Nick" : "Mario",
"Room" : "PortugalVSDenmark"
}
}
}
https://firebase.google.com/docs/cloud-messaging/concept-options
no onResume
eu sou capaz de executar uma ação, mas o onLaunch
parece não ser chamado.
flutter
firebase-cloud-messaging
Stefano Saitta
fonte
fonte
Respostas:
Esse é o formato que sua carga útil deve assumir com os dados incluídos. Funciona, pois foi assim que consegui que funcionasse no meu projeto. Além disso, para que tudo funcione corretamente, há uma resposta aqui que pode ser útil para a configuração geral do projeto:
fonte
android
chave que deve fazer?Acho que você já está obtendo dados sobre o lançamento, só precisa esperar um pouco. Eu escrevi porque me deparei com a mesma coisa.
Você pode tentar isso
Também na minha situação, usei assim e resolvi.
fonte
Dizer se sua Atividade está em primeiro plano (e reagir de maneira diferente) pode ser um pouco complicado. Minha maneira favorita é registrar um local
BroadcastReceiver
na Atividade e, em seguida, fazer um asendBroadcast
partir do serviço. Você será verdadeiro com esse método se o seu receptor estiver em execução (o que significa que seu aplicativo está em primeiro plano e falso caso contrário.Você pode ver um exemplo disso (usando GCM, mas a lógica é a mesma para FCM) Fonte
Este também é um ótimo exemplo MyFirebaseMessagingService
fonte
No seu provedor, você pode fazer a seguinte configuração adicional; se isso foi feito corretamente na sua depuração, você deve visualizar um token:
com este pacote: https://pub.dev/packages/firebase_messaging em seu projeto e em sua base de firmas, em Cloud Messaging -> Opções -> Dados pessoais -> chave (click_action) -> valor (FLUTTER_NOTIFICATION_CLICK) que você precisa adicionar FLUTTER_NOTIFICATION_CLICK.
Com isso, você já pode tentar suas notificações push do firebase.
fonte
onLaunch
se você enviar uma notificação comdata
nela