Como en el título, ¿cuál es la solución actual para recibir datos personalizados cuando el usuario hace clic en una notificación cuando finaliza la aplicación?
Parece que en Android no es posible recibir un mensaje de datos en onLaunch (que es la forma ideal) En iOS no lo había intentado todavía desde que me enfrento a este problema primero.
¿Cualquier pista?
Información adicional: la notificación que estoy enviando a través de a firebase cloud function
está en este formulario:
"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
en el onResume
soy capaz de realizar una acción, pero onLaunch
parece que no se llama.
flutter
firebase-cloud-messaging
Stefano Saitta
fuente
fuente
Respuestas:
Este es el formato que debe tomar su carga útil con los datos incluidos. Funciona ya que así es como lo hice funcionar en mi proyecto. Además, para que todo funcione correctamente, hay un respuesta aquí que podría ser útil para la configuración general del proyecto:
fuente
android
supone que debe hacer la llave?Creo que ya está obteniendo datos en el lanzamiento, solo necesita esperar un poco. Lo escribí porque me encontré con lo mismo.
¿Puedes probar esto?
También en mi situación, lo usé así y lo resolví.
fuente
Decir si su actividad está en primer plano (y reaccionar de manera diferente) puede ser un poco complicado. Mi forma favorita es registrar un local
BroadcastReceiver
en la Actividad y luego hacer unasendBroadcast
desde el servicio. Obtendrá cierto de ese método si su receptor se está ejecutando (lo que significa que su aplicación está en primer plano y falso contrario.Puede ver un ejemplo de esto (usando GCM, pero la lógica es la misma para FCM) Fuente
También este es un gran ejemplo MyFirebaseMessagingService
fuente
En su proveedor, puede hacer la siguiente configuración adicional, si se realizó correctamente en su depuración, debe visualizar un token:
con este paquete: https://pub.dev/packages/firebase_messaging en su proyecto y en su base de fuego, en Cloud Messaging -> Opciones -> Datos personales -> clave (click_action) -> value (FLUTTER_NOTIFICATION_CLICK) que necesita agregar FLUTTER_NOTIFICATION_CLICK.
Con esto, ya podrías probar tus notificaciones push de Firebase.
fuente
onLaunch
si envía una notificación condata
él