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.
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
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.
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.
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.
Notes de l'éditeur
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