web-dev-qa-db-fra.com

Android "Exemple de pushnotification" Bonjour tout le monde "

Je suis nouveau dans le développement d'applications Android et j'apprends un peu. Je suis dans une mission difficile pour envoyer une notification Push (messagerie en nuage) de mon serveur Web (PHP) à l'application Android (juste un "helloworld"). J'ai fait quelques "googler" et peu de mes doutes sont

  1. Google envoie une notification à l'aide de notre "identifiant d'appareil", non?
  2. Y at-il un code nécessaire dans notre application autre que l’ajout d’une autorisation dans le manifeste pour recevoir une notification?
  3. Nous devons enregistrer l'ID de périphérique de l'utilisateur dans "base de données locale" afin d'envoyer une notification, suis-je?

S'il vous plaît, aidez-moi. Quelqu'un peut-il me montrer un exemple de code ou de la documentation pour envoyer une notification simple à partir du serveur PHP?

Merci d'avance

45
ramesh

Firebase: https://firebase.google.com/docs/cloud-messaging/

GCM (obsolète): http://developer.Android.com/google/gcm/index.html

Je n'ai pas beaucoup de connaissances sur le C2DM. Utilisez GCM, il est très facile à implémenter et à configurer.

23
ravi roshan

Présentation de gcm: vous envoyez une demande au serveur Google à partir de votre téléphone Android). Vous recevez un identifiant d’enregistrement en réponse. Vous devrez ensuite envoyer cet identifiant d’enregistrement au serveur à partir de votre choix. Pour envoyer des notifications au mobile, utilisez cet ID d'enregistrement pour envoyer une notification à l'appareil.

Répondre:

  1. Pour envoyer une notification, vous envoyez les données (message) avec l'ID d'enregistrement de l'appareil à https://Android.googleapis.com/gcm/send . (utilisez curl en php).
  2. Pour recevoir notification et inscription, etc., c'est tout ce dont vous aurez besoin.
  3. Vous devrez enregistrer l'ID d'enregistrement sur l'appareil ainsi que sur le serveur. Si vous utilisez GCM.jar, l'ID d'enregistrement est stocké dans les préférences. Si vous le souhaitez, vous pouvez également l'enregistrer dans votre base de données locale.
25
Anirudha Agashe

Mise à jour 2016:

GCM est remplacé par FCM

Mise à jour 2015:

Jetez un oeil à developers.Android.com - Google remplacé C2DM avec [~ # ~] gcm [~ # ~] Implémentation de la démo/Comment

Mise à jour 2014:

1) Vous devez vérifier sur le serveur quelle réponse HTTP vous obtenez des serveurs de Google. Assurez-vous que la réponse est 200 OK pour que vous sachiez que le message a été envoyé. Si vous obtenez une autre réponse (302, etc.), le message n’est pas envoyé avec succès.

2) Vous devez également vérifier que l’ID d’enregistrement que vous utilisez est correct. Si vous fournissez un ID d'enregistrement incorrect (en tant que destination du message - spécifiant l'application, sur un appareil spécifique), les serveurs de Google ne pourront pas l'envoyer avec succès.

3) Vous devez également vérifier que votre application est correctement enregistrée auprès des serveurs de Google pour recevoir les notifications Push. Si l'enregistrement échoue, vous ne recevrez pas de messages.

Première réponse 2014

Voici une bonne question que vous devriez peut-être jeter un coup d'œil: Comment ajouter une notification Push à mon compte Android app

Voici aussi un bon blog avec un moyen très simple de: http://blog.serverdensity.com/Android-Push-notifications-tutorial/

17
DominikAngerer

vous pouvez suivre ce tutoriel

http://www.androidbegin.com/tutorial/Android-google-cloud-messaging-gcm-tutorial/

cela m'a aidé à faire une notification Push; ou vous pouvez suivre cet autre tutoriel

http://www.tutorialeshtml5.com/2013/10/tutorial-simple-de-gcm-traves-de-php.html

mais c'est en espagnol mais vous pouvez télécharger le code.

2
user3304530