Push Notification
Pour smartphones Android
Lightning Talk
Ben Rabah Wajdi – Orange Developer Center
19/02/2014 Tunis
2 Orange restrictedOrange presentation
Plan
section 1 Qu’est ce que le push notification?
section 2 Pourquoi opter pour le...
3 Orange restrictedOrange presentation
Qu’est ce que le Push Notification ?
 Gardez le contact avec vos utilisateurs, app...
4 Orange restrictedOrange presentation
Pourquoi opter pour le push notification ?
5 Orange restrictedOrange presentation
Les méthodes pour avoir des mises à jours
 Transférer le plus tôt possible
 Conse...
6 Orange restrictedOrange presentation
Petite comparaison entre IOS et Android
7 Orange restricted
Quels sont les composantes pour mettre en place le
push notification ?
8 Orange restricted
La confiance
9 Orange restricted
Oui mais pratiquement comment ça se passe ?
10 Orange restricted
Oui mais pratiquement comment ça se passe ?
11 Orange restricted
Oui mais pratiquement comment ça se passe ?
12 Orange restricted
Résumons
13 Orange restricted
Ready ? Go !
Maintenant mon serveur est enregistré avec
Google et a au moins un smartphone pour
leque...
14 Orange restricted
C’est bien beau de parler mais pratiquement comment
ça se passe ?
15 Orange restricted
Accès à Google Api console
• Aller à Google APIs Console page et noter le projectId .
16 Orange restricted
Activation de l’Api
17 Orange restricted
Api key
18 Orange restricted
Implémentation du serveur
• Installation de Xampp ou Wamp.
• Accès à : http://localhost/phpmyadmin
• ...
19 Orange restricted
Implémentation du serveur
• Créez le répertoire gcm_server_php sous htdocs de xampp (ou www de
wamp)
...
20 Orange restricted
Préparation du projet Android
• Allez à SDK manager et installez Google Cloud Messaging for Android L...
21 Orange restricted
Mise en place du projet Android
• Inclure les permissions nécessaires dans le manifest.
• Définir un ...
22 Orange restricted
Mise en place du projet Android
• Définir la classe ServerUtilities.java : abonne/désabonne un smartp...
23 Orange restricted
Mise en place du projet Android
• Définir le layout activity_register.xml permettant d’abonner un sma...
24 Orange restricted
Démonstration
Aussi disponible ici : https://www.dropbox.com/s/eto4dkgyqzy4d5l/Push%20notification.mp4
25 Orange restricted
Conclusion : Limites
 Messages de très petite longueur.
 Pas de garantie si le message est bien
séc...
Merci
Orange, the Orange mark and any other Orange product
or service names referred to in this material are trade marks
o...
Prochain SlideShare
Chargement dans…5
×

Push Notification

968 vues

Publié le

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

Publié dans : Technologie
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
968
Sur SlideShare
0
Issues des intégrations
0
Intégrations
15
Actions
Partages
0
Téléchargements
18
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive
  • 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.

    ×