Push Notification

1,108 views

Published on

Présentation élaborée par M. Wajdi Ben Rabeh dans le cadre des sessions de Lightning Talks à l'Orange Developer Center.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,108
On SlideShare
0
From Embeds
0
Number of Embeds
15
Actions
Shares
0
Downloads
18
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Android propose depuis la version 2.2 de l’OS la gestion de ces messages légers par l’utilisation des services C2DM (Cloud To Device Messaging) de Google
  • Android propose depuis la version 2.2 de l’OS la gestion de ces messages légers par l’utilisation des services C2DM (Cloud To Device Messaging) de Google
  • Espérons que google traite mes données d’une facon confidentielle.
  • Remarque : Vous allez trouver ces fichiers en annexe de cette présentation. Je les ai mis en disposition pour vous sous cette adresse : https://www.dropbox.com/s/574g9wsve13e1wi/gcm_server_php.zip
  • (Si vous ne le trouvez pas, merci de mettre à jours votre SDK manager )
  • Tout le projet est disponible à cette adresse :
  • Tout le projet est disponible à cette adresse :
  • Tout le projet est disponible à cette adresse :
  • Tout le projet est disponible à cette adresse : https://www.dropbox.com/s/aa9c7afv3j0d234/AndroidPushNotificationsUsingGCM.zip
  • Push Notification

    1. 1. Push Notification Pour smartphones Android Lightning Talk Ben Rabah Wajdi – Orange Developer Center 19/02/2014 Tunis
    2. 2. 2 Orange restrictedOrange presentation Plan section 1 Qu’est ce que le push notification? section 2 Pourquoi opter pour le push notification? section 3 Les méthodes pour avoir des mises à jours section 4 Composantes section 5 Prêt? Partez! section 6 Tutorial pas à pas section 7 Conclusion
    3. 3. 3 Orange restrictedOrange presentation Qu’est ce que le Push Notification ?  Gardez le contact avec vos utilisateurs, apportez leur de l’information ponctuelle et dynamisez l’utilisation de votre application… sans que celle-ci n’ait besoin d’être en cours d’exécution ! C’est ce que permettent les notifications push sur nos smartphones.
    4. 4. 4 Orange restrictedOrange presentation Pourquoi opter pour le push notification ?
    5. 5. 5 Orange restrictedOrange presentation Les méthodes pour avoir des mises à jours  Transférer le plus tôt possible  Conserver la batterie  Minimiser le taux de données transférées aux utilisateurs
    6. 6. 6 Orange restrictedOrange presentation Petite comparaison entre IOS et Android
    7. 7. 7 Orange restricted Quels sont les composantes pour mettre en place le push notification ?
    8. 8. 8 Orange restricted La confiance
    9. 9. 9 Orange restricted Oui mais pratiquement comment ça se passe ?
    10. 10. 10 Orange restricted Oui mais pratiquement comment ça se passe ?
    11. 11. 11 Orange restricted Oui mais pratiquement comment ça se passe ?
    12. 12. 12 Orange restricted Résumons
    13. 13. 13 Orange restricted Ready ? Go ! Maintenant mon serveur est enregistré avec Google et a au moins un smartphone pour lequel il peut envoyer des messages.
    14. 14. 14 Orange restricted C’est bien beau de parler mais pratiquement comment ça se passe ?
    15. 15. 15 Orange restricted Accès à Google Api console • Aller à Google APIs Console page et noter le projectId .
    16. 16. 16 Orange restricted Activation de l’Api
    17. 17. 17 Orange restricted Api key
    18. 18. 18 Orange restricted Implémentation du serveur • Installation de Xampp ou Wamp. • Accès à : http://localhost/phpmyadmin • Création d’une table d’utilisateurs : CREATE TABLE IF NOT EXISTS `gcm_users` ( `id` int(11) NOT NULL AUTO_INCREMENT, `gcm_regid` text, `name` varchar(50) NOT NULL, `email` varchar(255) NOT NULL, `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; • S’assurer que l’extension curl est activée (activée par défaut à Xampp)
    19. 19. 19 Orange restricted Implémentation du serveur • Créez le répertoire gcm_server_php sous htdocs de xampp (ou www de wamp) • Créez les fichiers suivants :  config.php (pour configurer les accès , BD, mot de passe, user…)  db_connect.php (pour définir les opérations de base : connexion, déconnexion…)  db_functions.php (responsable de requêtes sur l’utilisateur)  GCM.php (qui envoi les demandes de notifications au serveur)  register.php (enregistre les smartphones)  send_message.php (requête au serveur GCM puis envoi des push notifications au smartphone)  index.php ( une page qui affiche l’ensemble des smartphones enregistrés et contrôle tout envoi)
    20. 20. 20 Orange restricted Préparation du projet Android • Allez à SDK manager et installez Google Cloud Messaging for Android Library sous la section Extras. • Après installation, allez au repertoire : Andoird_SDK_Folderextrasgooglegcmgcm-clientdist • Copier le fichier « gcm.jar » au répertoire lib de votre projet , puis incluez ce dernier dans le build path.
    21. 21. 21 Orange restricted Mise en place du projet Android • Inclure les permissions nécessaires dans le manifest. • Définir un broadcast receiver responsable d’envoi, réception (des push) et d’enregistrement des smartphones. • Définir un service qui va contrôler notre broadcast. • Définir la classe AlertDialogManager.java qui va afficher une alerte dialog dans le cas de succès ou d’échec de connexion. • Définir la classe ConnectionDetector.java qui a pour rôle de connaitre l’état de la connexion internet. • Définir la classe CommonUtilities.java qui contient la configuration de GCM et l’url de notre serveur. • SERVER_URL = ici on travaille en localhost donc notre IP • SENDER_ID = l’id du projet donné auparavant par Google.
    22. 22. 22 Orange restricted Mise en place du projet Android • Définir la classe ServerUtilities.java : abonne/désabonne un smartphone, et responsable de l’envoi de données au serveur aussi . • Définir la classe GCMIntentService.java : joue le rôle d’écouteur suite aux différentes actions (enregistrement d’un smartphone, réception de message …) • Définir la classe RegisterActivity.java responsable de l’enregistrement des smartphones. • Définir l’activité MainActivity.java qui va représenter notre point de départ et va notifier le serveur de l’abonnement d’un nouveau smartphone.
    23. 23. 23 Orange restricted Mise en place du projet Android • Définir le layout activity_register.xml permettant d’abonner un smartphone. • Définir le fichier string.xml permettant de stocker les informations nécessaires aux messages d’erreurs etc. … (pattern utilisé pour ce faire) • J’ai ajouté d’autres classes comme WakeLocker.java qui ne laisse pas le smartphone entrer en mode veille.
    24. 24. 24 Orange restricted Démonstration Aussi disponible ici : https://www.dropbox.com/s/eto4dkgyqzy4d5l/Push%20notification.mp4
    25. 25. 25 Orange restricted Conclusion : Limites  Messages de très petite longueur.  Pas de garantie si le message est bien sécurisé.  Envoi :  Non garanti  Les utilisateurs peuvent se désabonner.  Les utilisateurs peuvent désactiver les notifications afin de bien gérer la batterie.
    26. 26. Merci Orange, the Orange mark and any other Orange product or service names referred to in this material are trade marks of Orange Brand Services Limited. Orange restricted.

    ×