IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Android notification push - Gestion du canal


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2011
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 43
    Par défaut Android notification push - Gestion du canal
    Salut la foule.
    J'ai développé une petite appli mobile android qui (entre autre) reçoit et affiche des notifications push envoyées depuis mon site Web via un script PHP (utilisation de l'API Firebase).
    Qu'elles sont capricieuses ces notifications ! En fonction de leur contenu et/ou de la version d'Android, elles s'affichent plus ou moins bien.
    Je développe en Java avec Android Studio 2021.3.1. Je galère entre autres avec la gestion du canal. J'ai deux questions :
    1 - Pourquoi existe-t-il un channelId et un ChannelName ?
    2 - Faut-il créer ce canal dans le OnCreate de MainActivity ou dans le onMessageReceived du service FirebaseMessagingService ?

    D'avance merci.

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    476
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 476
    Par défaut
    Bonjour,

    Je n'en suis pas certain, mais je crois que les channels servent à différencier les notifs pour l'utilisateur. Dans les paramètres du téléphone android, il peut choisir celles qu'il accepte ou non.

    Il ne faut pas mélanger les notifications push et notifications normal. Je ne connais pas ton besoin, mais les channels ne sont utiles que pour afficher une notification depuis l'application. Si tu veux simplement recevoir une notif depuis ton backend via Firebase, tu n'as besoin de rien d'autres que suivre la procédure décrite dans Firebase. Sinon, en règle générale, la channel est créée juste avant l'affichage de la notif, donc ca peut être dans un service, après un clic sur un bouton...

    onMessageReceived est appelé quand un message de Firebase est intercepté alors que l'application est au premier plan. Donc, si tu veux afficher une notif ou lancer une action à ce moment là, tu peux la créer ici. Je n'ai pas lu en détail, mais ce tuto semble bien fait : https://medium.com/nybles/sending-pu...TMAN%20service.

  3. #3
    Membre averti
    Inscrit en
    Octobre 2011
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 43
    Par défaut
    Merci Turvy.
    Les notifications que j'envoie depuis mon site le sont vers tous les utilisateurs qui sont abonnés au sujet (topic) "général". La notification s'affiche même quand l'appli Android n'est pas lancée (killed).
    Cette notification comporte un titre, un court texte, une image et deux boutons. Elle est "expandable" (elle arrive sous forme de résumé et l'utilisateur peut la "déplier" en tapant en haut à droite ou en laissant le doigt sur la notif).
    L'appli créé deux canaux de notifications : 'Urgent' et 'Abonnement'. Le script PHP envoie sur l'un ou sur l'autre en fonction de critères (trop long à expliquer ici).
    J'ai maintenant compris que l'appli Android peut créer le canal à la volée ou lorsqu'elle démarre. Si le canal existe déjà, sa création est ignorée.
    Tout ça fonctionne plutôt bien à partir de Android 8 (Oreo). Avant cette version, la notion de canal n'existe pas. Elle a été rajoutée pour que l'utilisateur, qui était submergé de notifications, puisse gérer lui-même ces notifs en activant ou désactivant un ou plusieurs canaux.

    Je ne m'explique toujours pas la différence entre ChannelId et ChannelName.

    [EDIT] : renseignements pris, seul le ChannelId est important pour désigner le canal par lequel seront acheminé les notifications. Le ChannelName ne sert qu'à afficher le nom du canal dans les paramètres du téléphone.
    Le ChannelId est unique alors que le ChannelName peut varier en fonction des paramètres régionaux (langue).

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Notification Push Non reçue Android
    Par b_reda31 dans le forum Windev Mobile
    Réponses: 0
    Dernier message: 30/11/2020, 09h47
  2. Réponses: 4
    Dernier message: 26/06/2019, 10h06
  3. Notifications push sur android
    Par MarwaMimi dans le forum Android
    Réponses: 4
    Dernier message: 01/04/2014, 03h52
  4. Notifications push Android
    Par guigs06 dans le forum Android
    Réponses: 6
    Dernier message: 03/08/2011, 15h53
  5. [Système] [Push] Gestion
    Par Mister Nono dans le forum Langage
    Réponses: 2
    Dernier message: 05/05/2006, 19h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo