web-dev-qa-db-fra.com

Messagerie Firebase: le canal de notification par défaut ne fonctionne pas

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?

10
Maksim Ostrovidov

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.

15
Diego Giorgini