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 :

Firebase + appel pour envoi de notification


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de vertebre
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 184
    Par défaut Firebase + appel pour envoi de notification
    Bonjour,

    Lorsqu'un utilisateur reçoit une notification spéciale, je veux déclencher l'envoi d'une demande d'envoi de notification au serveur Firebase.

    J'ai trouvé cet élément de réponse sur Stackoverflow:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    curl -X POST --header "Authorization: key=<API_ACCESS_KEY>" \
        --Header "Content-Type: application/json" \
        <a href="https://fcm.googleapis.com/fcm/send" target="_blank">https://fcm.googleapis.com/fcm/send</a> \
        -d "{\"to\":\"<YOUR_DEVICE_ID_TOKEN>\",\"notification\":{\"body\":\"Yellow\"},\"priority\":10}"
    Mais je coince sur "<YOUR_DEVICE_ID_TOKEN>" ...

    devrais je renseigner l'ID du smartphone émetteur ou récepteur ?

    merci à vous,

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

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

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    C'est l'id firebase que reçois le téléphone lorsqu'il s'inscrit au service.
    Tu donnes donc le token firebase du téléphone que à qui tu veux faire parvenir ta notification.

    Si c'est juste pour faire des test t'embête pas avec CURL , il y'a dans la console firebase une interface te permettant d'envoyer des notifications
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre confirmé Avatar de vertebre
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 184
    Par défaut
    Bonsoir,


    merci pour cette réponse rapide.


    Si c'est juste pour faire des test t'embête pas avec CURL , il y a dans la console firebase une interface te permettant d'envoyer des notifications
    non ce n'est pas pour faire des tests. Dans mon précédant message j'exprimai l'envoi(depuis l'apkplication) d'une requête au serveur firebase pour qu'il notifie un autre utilisateur.
    Pour le dire autrement , ce que je veux c'est:
    -notifier un utilisateur, après qu'un autre, après avoir reçu une première notification, a effectuer auparavant une action qui nécessite de mettre à jour le file de l'application des utilisateurs.
    -transmettre des données en extra de notification et mettre à jour les données et le file de mon application.

    Au début, je pensais inscrire ces utilisateurs dans un topic mais je n'ai pas saisi (ou trouvé) comment notifier juste un seul utilisateur du topic, du coup je me suis tourné vers l'envoi d'une requête CURL depuis l'application smartphone, pour demander au serveur firebase d'envoyer une notification à un utilisateur précis. est ce une bonne approche ou pas ?

    Pourrai tu également me dire si envoyer le "device token id" en extra d'une notification(par exemple) est une bonne idée ?

    bonne journée,

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

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

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    Dans ton cas ton problème c'est que tu vas travailler sans serveur intermédiaire.

    En général pour une application X on à un serveur qui va contenir tous les tokens des devices qui peuvent recevoir une notification.
    C'est donc ce serveur qui va se charger d'envoyer les notifications et pas directement les applications.

    Dans ton cas , comment l'utilisateur A envoi une notif à B ? Il ne connait pas son token ? Comment B envoi sont token à A ?
    Que se passe t'il si A doit notifier 200 utilisateurs ? il doit connaitre les token de tout le monde.

    Bref tu l'auras compris , sans serveur tiers ca me parait compliqué.


    Je pense que les topics sont en revanche une piste à creuser. Chaque utilisateur à son propre topic auquel les autres peuvent s'abonner. A chaque fois qu'un utilisateur fait une action , il envoi une notification à son topic (et là plus besoin de serveur d'intermédiaire) et tous les abonnés reçoivent la notification.

    Donc pour résumer :

    Notifier un utilisateur en particulier => il faut son token. Un serveur intermédiaire avec toutes les infos me semble indispensable.
    Notifier un groupe d'utilisateur => topics et pas besoin de serveur.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre confirmé Avatar de vertebre
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 184
    Par défaut
    Dans ton cas , comment l'utilisateur A envoi une notif à B ? Il ne connait pas son token ? Comment B envoi sont token à A ?
    Que se passe t'il si A doit notifier 200 utilisateurs ? il doit connaitre les token de tout le monde.
    Bref tu l'auras compris , sans serveur tiers ca me parait compliqué.
    Pour mon application, je met seulement à jour une partie de l'application pour 2 utilisateurs qui sont reliés par un événement .
    Pour être plus précis, cette mise à jour dépend de l'action de l’utilisateur 1 qui engendre une notification à l'utilisateur 2, ce dernier effectue une autre action qui engendre une notification à l’utilisateur 1 etc ...
    Concernant le serveur tiers, je pourrai enregistrer le token de chaque utilisateur dans une base de donnée. Dans mon service FirebaseInstanceIdService, je pourrais le faire en enregistrant le 'string refreshedToken', puis sur mon serveur web créer un web service.php pour envoyer cette requête CURL après avoir récupérer le token de l’utilisateur à joindre en BDD.

    Je pense que les topics sont en revanche une piste à creuser. Chaque utilisateur à son propre topic auquel les autres peuvent s'abonner. A chaque fois qu'un utilisateur fait une action , il envoi une notification à son topic (et là plus besoin de serveur d'intermédiaire) et tous les abonnés reçoivent la notification.
    Effectivement ce serait plus simple, mais peut tu me confirmer si oui ou non, lorsque l'utilisateur va envoyer une notification à son topic pour notifier son abonné (1seul dans mon cas), va t il lui même recevoir la notification car il est aussi abonné au topic ?
    De plus, j'ai besoin de passer des données en extra de la notification, est ce possible de le faire lorsque l'utilisateur envoie une notification à son topic ? et comment passer ses données à la notification qui sera envoyé à l'abonné ?

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

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

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    Tu peux créer un topic par utilisateur mais un utilisateur n'est pas nécessairement abonné à son topic.

    Quand ton utilisateur télécharge ton appli , il s'inscrit => cela créer un topic à son nom. Mais tu ne l'abonne pas à ce topic.

    En ce qui concerne les données , tu as la possibilité d'ajouter jusqu'à 4ko de données à tes notifications dans le champs data :

    https://firebase.google.com/docs/clo...#data_messages
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

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

Discussions similaires

  1. [Upload] Barre de chargement pour envoi de fichier
    Par Caerbannog dans le forum Langage
    Réponses: 3
    Dernier message: 08/11/2005, 12h27
  2. Ouvrir Lotus Notes pour envoi d'état
    Par nbelg27 dans le forum Access
    Réponses: 1
    Dernier message: 15/09/2005, 21h12
  3. [JDBC] Préparer une chaîne pour envoi à MySQL
    Par calogerogigante dans le forum JDBC
    Réponses: 7
    Dernier message: 15/09/2005, 14h21
  4. Création de comptes pour envoi de newsletter
    Par Skullbox dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 17/08/2005, 11h30
  5. Réponses: 3
    Dernier message: 01/07/2003, 16h04

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