Lorsque j'envoie des notifications à partir de la console Firebase sans canal spécifié sur Android Oreo, il doit utiliser le canal "Divers" OU si fourni par défaut channel from Android manifest. Donc, je crée et fournit un canal par défaut dans mon application:
// Application onCreate
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
val manager = getSystemService(Context.NOTIFICATION_SERVICE)
as NotificationManager
val channelId = getString(R.string.notification_channel_id)
if(manager.getNotificationChannel(channelId)==null) {
val channel = NotificationChannel(channelId,
getString(R.string.notification_channel_name),
NotificationManager.IMPORTANCE_DEFAULT)
channel.description =
getString(R.string.notification_channel_description)
manager.createNotificationChannel(channel)
}
}
// Manifest
<meta-data
Android:name="com.google.firebase.messaging.default_notification_channel"
Android:value="@string/notification_channel_id" />
Mais ça ne marche pas. Les notifications utilisent toujours le canal "Divers". Suis-je en train de manquer quelque chose ici ou est-ce un bogue Firebase?
excuses, apparemment la documentation n'a pas été mise à jour correctement :(
Les métadonnées correctes dans le manifeste sont:
<meta-data
Android:name="com.google.firebase.messaging.default_notification_channel_id"
Android:value="@string/notification_channel_id" />
Noter la _id
à la fin de Android:name
valeur d'attribut.
Obtiendra la documentation mise à jour dès que possible.