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 :

Informations sur GCM


Sujet :

Android

  1. #1
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 281
    Points : 161
    Points
    161
    Par défaut Informations sur GCM
    bonjour,

    Je veux mettre en place sur mon app, le service de notification push GCM. j ai suivi pleins de tutoriels.

    J ai activé le service GCM sur l API console et jai recuperé ma KEY.
    J ai vu egalement que chaque device peut etre enregistré grace a un clè unique.

    Sachant que l utilisateur aura la possibilité de filtrer par des categorie ses alertes que jenregistre avec les SharedPreferences.

    Comment le serveur push de Google va savoir quels sont les catégories choisis pour chaque utilisateur de l'application.

    Merci.

  2. #2
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    Le serveur push de Google ne sait rien de ton application , il ne fait que transmettre un message aux appareils qui sont abonnés.
    C'est à toi de faire le travail , soit du coté du serveur qui envoi les message au service GCM soit sur le téléphone qui réagira différemment en fonction du contenu de la notification.

    Donc en gros soit sur ton serveur tu maintiens à jour les liste des téléphones et des catégories auquels il ont souscrit

    Ou alors les notifications partent vers tous les téléphones et à la réception c'est le téléphone qui décide si il s'occupe ou non de la notification en fonction des catégorie qui le concerne.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 281
    Points : 161
    Points
    161
    Par défaut
    Merci beaucoup pour vos précisions. J'ai également une autre demande :

    Imaginons que l'utilisateur s'abonne aux alertes et qu'il n'a pas de connexion réseau au moment de l'abonnement, cela posera un problème pour l'enregistrer. Comment faire ?

  4. #4
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    C'est tout expliqué dans la doc : http://developer.android.com/google/gcm/adv.html#retry

    Soit tu réessaie plus tard soit tu fais un retry exponentiel.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 281
    Points : 161
    Points
    161
    Par défaut
    J'ai une dernière interrogation :

    Tous les devices abonnées aux alertes doivent être enregistrés dans une base de donnée MySQL ou est-ce qu'ils sont stockées sur le serveur GCM avec la TOKEN_KEY ?

  6. #6
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    Le serveur GCM ne fait que propager un message. C'est encore une fois à toi de stocker sur ton serveur la liste des appareils , puis lorsque tu voudra envoyer une notification , tu itère sur tous ces appareils et tu fait la demande d'envoi à GCM.

    GCM tu lui envoi simplement une requête http avec un message et l'identifiant du téléphone à contacter.

    Essai l'appli de démo qui est détaillée dans la doc tu comprendras le fonctionnent : http://developer.android.com/google/...l#server-setup
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 281
    Points : 161
    Points
    161
    Par défaut
    Après étude de la doc Android sur GCM , j'ai quelques points que je n'arrive pas à éclaircir :

    1. Lorsque l'utilisateur s'abonne aux notifications push, j'enregistre le registerID sur mon serveur. Mais lorsqu'il se désabonne est ce que je dois aussi supprimer son registerId de ma bdd ou je peux la garder en sachant qu'il pourra se réabonner à tout moment aux alertes. En clair est-ce que un registerID fourni par GCM est unique et n' a pas d'expiration ?

    2. Est ce que lorsque l'utilisateur reboot son téléphone, je dois activer le service qui gère le système GCM grâce à un BroadCastReceiver et une action BOOT_COMPLETED ?

  8. #8
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    1- Tu supprime son ID sinon tu enverras des notifications à un téléphone qui n'est plus abonné , donc inutile.
    Le registerID peut changer de manière plus ou moins aléatoire. C'est a gérer coté serveur en principe. Quand tu envoi une notification tu peux avoir une réponse qi te dis que le token à changer et que tu dois le mettre à jour (voir la doc)

    2- Suffit de modifier ton manifest comme expliquer ici : http://developer.android.com/google/gcm/gs.html pour enregistrer un service et un broadcastReceiver et à priori c'est tout bon.
    Le registerID est lié à ton application , donc quand le téléphone reçois une notification il sait quel broadcast receiver de quelle application utiliser.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  9. #9
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 281
    Points : 161
    Points
    161
    Par défaut
    Citation Envoyé par grunk Voir le message
    1- Tu supprime son ID sinon tu enverras des notifications à un téléphone qui n'est plus abonné , donc inutile.
    Le registerID peut changer de manière plus ou moins aléatoire. C'est a gérer coté serveur en principe. Quand tu envoi une notification tu peux avoir une réponse qi te dis que le token à changer et que tu dois le mettre à jour (voir la doc)

    2- Suffit de modifier ton manifest comme expliquer ici : http://developer.android.com/google/gcm/gs.html pour enregistrer un service et un broadcastReceiver et à priori c'est tout bon.
    Le registerID est lié à ton application , donc quand le téléphone reçois une notification il sait quel broadcast receiver de quelle application utiliser.

    Pour 2.

    j'ai fait mon service avec les méthodes onRegistered() etc.... mais lorsque l'utilisateur rédemarre le téléphone, faut bien relancer le service ?

Discussions similaires

  1. Réponses: 12
    Dernier message: 12/12/2004, 14h25
  2. Réponses: 6
    Dernier message: 28/04/2004, 10h41
  3. Réponses: 3
    Dernier message: 01/02/2004, 21h24
  4. Informations sur les procédures stockées
    Par jfphan dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 13/01/2004, 14h30
  5. Réponses: 6
    Dernier message: 28/09/2003, 17h49

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