2017-06-13 1 views
1

Ma question concerne les notifications push à distance standard sur les appareils iOS et Android lorsque l'application est terminée.Notifications Push à distance et applications terminées

En bref:

Il existe différents états app/modes:

  • Premier plan
  • Contexte
  • Suspendu
  • TERMINATED

Il existe différents types de notification :

  • Notification normale (contient des informations d'alerte)
  • données/Notification silencieuse (contient la charge utile de données)
  • de notification mixte (alerte et données)

Pour premier plan, arrière-plan et le mode suspendu est clair et fonctionne très bien sur iOS et Android. En fonction de la notification, tapez le comportement attendu comme indiqué dans les documents.

Mais il semble y avoir une différence essentielle dans les notifications à distance pour iOS et Android lorsque l'application est terminée.

Pour iOS: si l'application est terminée (pas suspendue), une notification standard à distance est reçue par le système iOS et affichée dans le centre de notifications. Aucun délégué n'est appelé et l'application n'est pas mise en mode d'arrière-plan (même si le mode d'arrière-plan push à distance est activé). Lorsque l'utilisateur clique sur la notification, l'application est démarrée et l'objet de notification est fourni via le délégué approprié. Récapitulatif: L'utilisateur peut recevoir des notifications push sur son appareil même si l'application a été forcée de quitter.

Pour Android: lorsque l'application est terminée, une notification standard à distance n'est pas affichée dans le centre de notifications. (Dès l'application est démarré et mis à l'arrière-plan les notifications sont reçues et affichées correctement.

La documentation est très claire parce que le premier plan et en arrière-plan sont mentionnés. https://firebase.google.com/docs/cloud-messaging/concept-options https://firebase.google.com/docs/cloud-messaging/android/receive

Il y a beaucoup de discussions Cela signifie que les notifications à distance ne sont pas affichées dans la barre d'état système (centre de notification) après le retrait forcé de l'application, mais il y a beaucoup moins de discussions sur le comportement attendu après le redémarrage de l'application. sont aussi des discussions indi indiquant que les pressions à distance sont toujours affichées dans la barre d'état système, même si l'application a été arrêtée (Android push notifications not being received when app closed). Ce serait le même comportement que pour iOS. Pour en arriver au point: Est-il possible sur Android d'envoyer une notification push à distance à la barre d'état système de l'appareil, même si l'application est terminée/forcée/ne fonctionne pas?

Répondre

1

Je peux répondre maintenant à ma propre question: Il est possible d'envoyer des notifications push aux appareils Android (dans le centre de notifications) lorsque l'application n'est pas en cours d'exécution.

Le problème avec les notifications qui ne sont pas délivrées a été causé par l'EMUI de Huawei et par des paramètres d'économie de batterie spécifiques. Sur Huawei P8, P9 et probablement de nombreux autres appareils avec EMUI, les applications ne sont pas autorisés à recevoir des notifications lorsqu'il ne fonctionne pas. Ils doivent être autorisés explicitement dans les réglages d'économie de batterie.

+0

Je ne comprends pas votre réponse, voulez-vous dire que si je force à quitter mon application Android (Paramètres -> Applications -> MyApp -> Force Stop), je peux toujours recevoir des messages push? Ou peut-être votre téléphone a-t-il forcé de quitter l'application en mode arrière-plan? – lelloman

+0

Comme je sais que cela ne fait pas de différence si vous quittez l'application ou le système le tue. S'il est désactivé/terminé/ne fonctionne pas, l'appareil reçoit des notifications push sur les téléphones Google et bien d'autres. Mais dans mon cas (force de quitter l'application manuellement) ce comportement a été interdit par les paramètres d'économie de batterie par défaut du Huawei P8. Sur les téléphones Google, cela a bien fonctionné dans les paramètres par défaut. –

+0

merci pour la réponse, ce que je ressens est que si l'application a été arrêtée force (à partir de paramètres) aucune notification est affichée. l'arrêt de la force est différent du non-fonctionnement, lorsque la force est arrêtée, l'application n'est pas supposée faire quoi que ce soit jusqu'à ce que l'utilisateur la lance activement. confirmez-vous que vous pouvez voir les notifications même si l'application est arrêtée? – lelloman