Your SlideShare is downloading. ×

Push Notification

493
views

Published on

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

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
493
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
12
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
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
  • Transcript

    • 1. Push Notification Pour smartphones Android Lightning Talk Ben Rabah Wajdi – Orange Developer Center 19/02/2014 Tunis
    • 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 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 Orange restrictedOrange presentation Pourquoi opter pour le push notification ?
    • 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 Orange restrictedOrange presentation Petite comparaison entre IOS et Android
    • 7. 7 Orange restricted Quels sont les composantes pour mettre en place le push notification ?
    • 8. 8 Orange restricted La confiance
    • 9. 9 Orange restricted Oui mais pratiquement comment ça se passe ?
    • 10. 10 Orange restricted Oui mais pratiquement comment ça se passe ?
    • 11. 11 Orange restricted Oui mais pratiquement comment ça se passe ?
    • 12. 12 Orange restricted Résumons
    • 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 Orange restricted C’est bien beau de parler mais pratiquement comment ça se passe ?
    • 15. 15 Orange restricted Accès à Google Api console • Aller à Google APIs Console page et noter le projectId .
    • 16. 16 Orange restricted Activation de l’Api
    • 17. 17 Orange restricted Api key
    • 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 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 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 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 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 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 Orange restricted Démonstration Aussi disponible ici : https://www.dropbox.com/s/eto4dkgyqzy4d5l/Push%20notification.mp4
    • 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. 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.

    ×