07 Déc 2012 @ 9:15  

Serveur et Client « Google Cloud Messaging » (GCM)

Mobile : Samsung SG-i5510 sous Froyo 2.2

I) Activation de GCM.

1) Créer un compte Google :

https://accounts.google.com/SignUp?service=mail&continue=https%3A%2F%2Fmail.google.com%2Fmail%2F&ltmpl=default&hl=fr

Ce compte doit être ajouté dans le mobile Android.

2) Créer un projet : https://code.google.com/apis/console/

[API Project]
[Other projects][Create…]

L’adresse de la page change : https://code.google.com/apis/console/#project:546127697609:services

Récupérer la valeur numérique entre « #project: » et « :services » : 546127697609
C’est le numéro du projet et sera utilisé comme « GCM sender ID« .

– « Enter the name for your project: » : GCMessager
[Create project]

3) Activation du service GCM :

[Services]
– Activer [Google Cloud Messaging for Android] à « ON »
– Cocher « I agree to these terms. »
[Accept]

4) Obtenir la clé API :

[API Access]
[Create new Server key…]
– A la fenêtre de dialogue « Configure Server Key for GCMessager » : [Create]
– Dans la section « Key for server apps (with IP locking)« , récupérer la « API key » : AIzaSyBqYPI6UDg6ef8xVJ64wNIjR3Df8fZ67Bw

5) Liens :

http://developer.android.com/google/gcm/demo.html

II) Environnement de développement.

1) Télécharger Eclipse : Eclipse Juno (4.2) SR1

http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/juno/SR1/eclipse-java-juno-SR1-linux-gtk.tar.gz

2) Android SDK : android-sdk_r21-linux.tgz

http://developer.android.com/sdk/index.html

3) Configuration : http://developer.android.com/sdk/installing/installing-adt.html

– « Android SDK Manager » :
Installer :
Android 2.3.3 (API 10)
Extras/Google Cloud Messaging for Android Library

III) Code source du client et du serveur.

Github : https://github.com/Nekrofage/GCMessager

De : http://www.androidhive.info/2012/10/android-push-notifications-using-google-cloud-messaging-gcm-php-and-mysql/
Avec les corrections du source à partir des commentaires de l’article.

1) Client GCM :

Ouvrir :

/GCMessager/src/com/androidhive/pushnotifications/CommonUtilities.java

Chercher :

    // give your server registration url here
    static final String SERVER_URL = "http://xx.xx.xx.xx/gcm_server_php/register.php";

    // Google project id
    static final String SENDER_ID = "";

Remplacer par :

    // give your server registration url here
    static final String SERVER_URL = "http://266.651.674.163/gcmessager/register.php";

    // Google project id
    static final String SENDER_ID = "546127697609";

2) Serveur :

Ouvrir :

/gcmessager/config.php

Chercher :

/**
 * Database config variables
 */
define("DB_HOST", "");
define("DB_USER", "");
define("DB_PASSWORD", "");
define("DB_DATABASE", "gcmessager");

/*
 * Google API Key
 */
define("GOOGLE_API_KEY", ""); // Place your Google API Key

Remplacer par :

/**
 * Database config variables
 */
define("DB_HOST", "localhost");
define("DB_USER", "utilisateur");
define("DB_PASSWORD", "motdepasse");
define("DB_DATABASE", "gcmessager");

/*
 * Google API Key
 */
define("GOOGLE_API_KEY", "AIzaSyBqYPI6UDg6ef8xVJ64wNIjR3Df8fZ67Bw"); // Place your Google API Key

IV) Test.

Après l’envoie du message par l’interface web , attendre 10 min. pour qu’il s’affiche sur le mobile Android en tant que « notification ».

Posted By: Administrateur
Last Edit: 07 Déc 2012 @ 09:33

EmailPermalinkComments (0)
Tags
Categories: Android, Google, Script, Système, Web
 07 Mai 2012 @ 8:40  

Notification + Push + Android + C2DM + OAuth

1) Créer un compte gmail : https://accounts.google.com/SignUp?service=mail&continue=http%3A%2F%2Fmail.google.com%2Fmail%2F&ltmpl=default

2) Créer un compte « Cloud to Device Messaging » : Cloud to Device Messaging

Attendre 24 heures pour que le compte soit actif.

3) Compilation de l’application mobile : C2DMSample

http://www.eecs.berkeley.edu/~liuisaac/site/blog/201109/simple-android-c2dm.html

Ouvrir :

Android-C2DM/src/com/liuapps/c2dmsample/HomeActivity.java

Chercher :

regIntent.putExtra("sender", "roleemail@gmail.com");

Remplacer par :

regIntent.putExtra("sender", "c2dmsample.c2dm@gmail.com");

4) Cliquer sur « Click to register device for c2dm »

l’identification du téléphone s’affiche et copié dans la presse-papier

5) Aller dans l’application « Mémo »

Créer un « nouveau mémo« , « modifier le texte » et « coller » ce qu’il y a dans le presse-papier

L’id est coller dans le mémo.

« Envoyer via » « Message« , insérer l’adresse du courriel : c2dmsample.c2dm@gmail.com

6) Un nouveau « MMS » est réceptionner dans le compte gmail de c2dmsample.c2dm.

Télécharger le fichier .vnt, par exemple : 2012-05-07.19.31.05.vnt

Soit :

BEGIN:VNOTE
VERSION:1.1
BODY;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:APA91bGRH_B_VRb5YsX94OSC0smsiEozj9KWmMIwlQHHObBVmbLLoSBBOET8MnQJupm709x46ZxvC_Fn25RHc1V745-niHA4FghRdrKlUruMEevlw64FUp8kRPF15_9TkeIvjs0Uj3m0JVWkBtSY9L55SRdfeqGnxyZ-XVIs
DCREATED:20120507T193105
LAST-MODIFIED:20120507T193105
END:VNOTE

Le « registration id » :

APA91bGRH_B_VRb5YsX94OSC0smsiEozj9KWmMIwlQHHObBVmbLLoSBBOET8MnQJupm709x46ZxvC_Fn25RHc1V745-niHA4FghRdrKlUruMEevlw64FUp8kRPF15_9TkeIvjs0Uj3m0JVWkBtSY9L55SRdfeqGnxyZ-XVIs

7) Se connecter à gmail avec « c2dmsample.c2dm@hotmail.com »

8 ) Aller sur Google API console : https://code.google.com/apis/console/

[API Access] -> [Create an OAuth 2.0 client ID…]
– Product name : C2DMSample
[Next]
– Client ID Settings :
– Application type : Web application
– Your site or hostname -> (more options)
Authorized Redirect URIs : https://code.google.com/oauthplayground/
Authorized JavaScript Origins :
[Create client ID]

Une page s’affiche avec les infos suivntes :

Client ID for web applications
Client ID:  
691962428.apps.googleusercontent.com
Email address:  
691962428@developer.gserviceaccount.com
Client secret:  
WGBiViveWS7WbaAXtgX-n
Redirect URIs:  https://code.google.com/oauthplayground/
JavaScript origins:     none

9) Configurer « OAuth 2.0 Playground » : https://code.google.com/oauthplayground/

– Cliquer sur l’icône « roue dentée » en haut à droite : OAuth 2.0 configuration

– OAuth flow : Server-side
– Oauth endpoints : Google
– Authorization endpoint : https://accounts.google.com/o/oauth2/auth
– Token endpoint : https://accounts.google.com/o/oauth2/token
– Access token location : Authorization hearder w/ Bearer prefix
– Access type : offline
– Use your own OAuth credentials
OAuth Client ID : 691962428.apps.googleusercontent.com
OAuth Client Secret : WGBiViveWS7WbaAXtgX-n

Step 1 Select & authorize APIs :
input your scopes : https://android.apis.google.com/c2dm

[Authorize APIs]

[Autorisé l’accés]

[Exchange authorization code for tokens]

Copier « Access token » : ya29.AHES6ZR4ezDRqZbPlByiV3cfrgEbc2LB6mxgXAwLuo16XnQ

10) Envoyer une notification

access token = ya29.AHES6ZR4ezDRqZbPlByiV3cfrgEbc2LB6mxgXAwLuo16XnQ

[~/ANDROID_c2dm] ➔ curl -k -H 'Authorization: Bearer ya29.AHES6ZR4ezDRqZbPlByiV3cfrgEbc2LB6mxgXAwLuo16XnQ' https://android.apis.google.com/c2dm/send -d 'registration_id=APA91bGRH_B_VRb5YsX94OSC0smsiEozj9KWmMIwlQHHObBVmbLLoSBBOET8MnQJupm709x46ZxvC_Fn25RHc1V745-niHA4FghRdrKlUruMEevlw64FUp8kRPF15_9TkeIvjs0Uj3m0JVWkBtSY9L55SRdfeqGnxyZ-XVIs' -d 'collapse_key=0' -d 'data.message=coucou'
id=0:1336418711870288%e95dad9300000030
[~/ANDROID_c2dm] ➔

Quelques secondes après, vous recevez dans la barre de notification du téléphone, le message : coucou

l' »access token » expire au bout de 3600 secondes.

11) Copier le lien de la configuration :

Cliquer sur [Create a link], copier l’url.

12) Lien :

http://www.roosmaa.net/getting-started-with-android-c2dm/
Forum Nekrofage : http://nekrocite.eu/nekrofage/viewtopic.php?f=62&t=247

Posted By: Administrateur
Last Edit: 08 Mai 2012 @ 07:04

EmailPermalinkComments (0)
Tags
Categories: Android, Développement, Google

 50 derniers articles
 Retour
Changer Thème...
  • Users » 1
  • Posts/Pages » 526
  • Comments » 1
Change Theme...
  • VoidVoid « Default
  • LifeLife
  • EarthEarth
  • WindWind
  • WaterWater
  • FireFire
  • LightLight

SteamCyberPunk



    Pas de Pages Enfants.

Discussion



    Pas de Pages Enfants.

Galerie Photos



    Pas de Pages Enfants.

Manifestations et festivals



    Pas de Pages Enfants.

Concerts et festival de musique



    Pas de Pages Enfants.

Articles



    Pas de Pages Enfants.