web-dev-qa-db-fra.com

Les notifications Expo ne fonctionnent pas lorsque l'ID de canal est utilisé

J'utilise le code suivant pour créer deux canaux pour mon application Expo Reag Ad, sur Android:

Notifications.setNotificationChannelAsync("default", {
            name: "default",
            importance: Notifications.AndroidImportance.MAX,
            vibrationPattern: [0, 250, 250, 250],
            lightColor: "#FF231F7C",
        })  

Notifications.setNotificationChannelAsync("gameupdates", {
                name: "gameupdates",
                importance: Notifications.AndroidImportance.MAX,
                vibrationPattern: [0, 250, 250, 250],
                lightColor: "#FF231F7C",
            })

La chaîne est créée avec succès et je peux même le trouver lorsque je vais dans les options de notification de l'application Expo.

Lorsque j'envoie une notification à l'aide de outil d'Expo sans aucun identifiant de canal, cela fonctionne bien. Cependant, lorsque j'utilise l'ID de la chaîne "GameUpdates", la notification n'atteint jamais mon téléphone.

Une idée pourquoi?

Je suis sur l'Expo SDK 38.

9
Ryan Pergent

Vous avez créé votre chaîne avec succès, mais ne mettez pas mis à jour les paramètres de notifications Expo de votre application. Pour cela, vous devez ajouter -

Android: {
...
"useNextNotificationsApi": true
}

dans ton app.json fichier.

Puis exécutez votre code en nettoyant le cache Expo comme -

expo start -c

Et testez-le! Vous commencerez à recevoir les notifications sur votre Android ++ mobiles également.

1
AMOL PATIL

Suivez la documentation:

Si vous créez une notification et que vous ne spécifiez pas de canalID, Expo créera automatiquement un canal "par défaut" pour vous et présentera la notification via ce canal. Si, toutefois, vous spécifiez un canalID qui n'a pas encore été créé sur le périphérique, la notification ne sera pas affichée sur Android Plus de périphériques. Par conséquent, il est important de planifier à l'avance et de s'assurer que Vous créez tous les canaux dont vous pourriez avoir besoin avant d'envoyer des notifications.

Sur les périphériques avec Android 7 et ci-dessous, qui ne prennent pas en charge les canaux de notification, Expo se souviendra des paramètres pertinents que vous avez créés le canal avec (dans ce cas, son: true) et les appliquer directement à la notification individuelle avant de la présenter à l'utilisateur.

Je pense donc que vous devez vous assurer de quelque chose si vous souhaitez appuyer sur Spécifier le canal ID:

  • Votre application exécuter sur les périphériques 8.0+
  • Channel Créez le succès sur le périphérique sans effectuer un paramètre de l'utilisateur (au cas où vous vérifiez gameupdates canal)
  • Prenez soin de votre Android Appuyez sur API 26+

Bonne chance.

0
leo