参考
Get Project
Google公式のQuickStartアプリで簡単に始めることができる.  
サンプルプロジェクトは下記から取得する. 
$ git clone https://github.com/googlesamples/google-services.git
cloneしたファイルにあるgoogle-services/android/gcmがGCM3のサンプル. 
Get Configuration file
GCM3.0を使用するためにConfiguration fileの追加が必要.  
Configuration fileを得るためのウィザードをGoogleが用意してくれている.  
Configuration Fileの取得には作成済みのAndroid Appを求められるが手軽に試すための’Default Demo App’を選択すればAndroid Appを持っていなくても始めることができる.  
本稿はApp name:’Default Demo App’, package name: ‘gcm.play.android.samples.com.gcmquickstart’として進める.  
ともかくウィザードに従ってconfiguration fileを取得する.  
[Choose and configure services]>[ENABLE GOOGLE CLOUD MESSAGING]>[Generate configuration files]> 
[Download google-services.json]でconfiguration fileを取得できる.  
ダウンロード画面で表示される “Server API Key” と “Sender ID” は覚えておく. 
Implementing GCM Client on Android
前述のgoogle-servicesを流用すれば実装の必要はないので本章はskipできる.
既存アプリにGCM3を適用したい場合は下記の要件に注意.  
Googleはクライアントコードの作成においてGoogleCloudMessagingAPIの使用とAndroid Studio+Gradleの使用を推奨している. 
またAndroidのGCM clientへの要件としては次のものがある.
- Android2.2 or higer(need Google Play Store application. )
 - GCMの新機能を使用したい場合はAndroid2.3 or higher
 - 3.0以前はGoogleアカウントの設定が必須であったが, 4.0.4以降はGoogleアカウント設定が必須ではなくなった. 
4.0.4以降はGoogleへのログインが必要になるケースがある. 
GCMはクライアントとサーバ両方実装することを推奨している. サーバの実装についてはAbout GCM Connection Serverを参照.  
クライアントコードについてはQuick Start Sampleが参考になる. 
Caution!
既存のコードがWakefulBroadcastReceiverを使っているならGCMReceiverとGcmListenerServiceに置き換えることを推奨する.
- AndroidManifest.xmlでは
 GcmBroadcastReceiverを “com.google.android.gms.gcm.GcmReceiver”に置き換え, サービスの継承元をIntentServiceからGcmListenerServiceに置き換える.BroadcastReceiverの実装コードを削除する.- IntentServiceのコードをGcmListenerServiceのコードに置き換える.
 
Add the configuration file
ダウンロードしたconfiguration fileをappモジュール直下に配置する.
Run Application
Configuration fileを追加したならばGCM Quickstartのアプリケーションを実行する.  
GCM Quickstartアプリが起動し, DeviceのRegistrationが完了すると”Token retrived and sent to server”のメッセージが表示される. 
Sent Google Cloud Message
Quickstartアプリに同梱されているgcmsenderを使ってGCMの動作を確認できる.  
gcmsenderモジュールにあるgcm.play.android.samples.com.gcmsender.GcmSenderクラスに定義されているAPI_KEYを”Get Configuration file”で取得したAPI_KEYに置き換える. 
public class GcmSender {
  // public static final String API_KEY = "API_KEY";
  public static final String API_KEY = "AIxxxxxxx";
GcmSenderは下記のコマンドで実行できる. argsに好きなメッセージを指定して実行すればデバイスにメッセージが届く.
$ ./gradlew :gcmsender:run -Pargs="hello GCM3."
以上.