SlideShare a Scribd company logo
Google Cloud Messaging for Android
            ことはじめ
  サンプルコードを動かしてみる 編
             @kojiokb
サンプルコードを動かす
GCM for Android Libraryにはサンプ
ルコード「gcm-demo」が収録されて
いる。
まずはサンプルコードを動かしてみ
る。

※本ドキュメントの環境はMacですが、Windowsでも適宜読み替えて
いただければ大丈夫かと。
必要なもの
Google Cloud Messaging for
Android Library

Jetty

GCM sender ID・API Key
Google Cloud Messaging
  for Android Library
 Android SDK Managerからダウン
 ロードする。
Jetty
Jettyとは

 オープンソースのJava Servletコン
 テナ・Webサーバ。

サンプルコードのサーバサイドは
Servletで作られている。
Jettyのインストール
http://download.eclipse.org/jetty/ から
今回は8.1.7.v20120910を使用。

展開して適当なディレクトリに配置
今回は/usr/local/以下に配置。

環境変数JETTY_HOMEを設定
export JETTY_HOME=/usr/local/jetty-
distribution-8.1.5.v20120716
 
Jettyの起動・停止
起動

$ <JETTY_HOME>/bin/jetty.sh start


停止

$ <JETTY_HOME>/bin/jetty.sh stop
Jettyの起動確認
ブラウザから下記のURLにアクセス
http://localhost:8080
GCM sender ID
        API Key
GCMを使うには GCM sender ID と API Key が必要

取得方法は下記を参照。

[公式] GCM: Getting Started
http://developer.android.com/guide/google/gcm/gs.html

[日本語訳] GCMをはじめよう(ソフトウェア技術ドキュメン
トを勝手に翻訳)
https://sites.google.com/a/techdoctranslator.com/jp/
android/guide/google/gcm/gs
サンプルコード
サンプルコード「gcm-demo」は下記に


<SDK-Root>/extras/google/gcm/samples/


・gcm-demo-client -> Androidアプリ
・gcm-demo-server -> Servlet
・gcm-demo-appengine -> GAE


今回はAndroidアプリとServletを使う。
 
Servlet
チュートリアルを参照
[公式] Demo App Tutorial
http://developer.android.com/guide/google/gcm/demo.html
※ Setting Up the Server -> Using a standard web server

[日本語訳] デモアプリのチュートリアル(ソフトウェア技術ドキュメントを勝
手に翻訳)
https://sites.google.com/a/techdoctranslator.com/jp/android/guide/
google/gcm/demo

必要な手順
1. api.keyファイルに取得したAPI Keyを設定
2. antでビルドしてwarファイルを作成
3. warファイルを<JETTY_HOME>/webapps/に格納
Androidアプリ
公式チュートリアルはEclipseを使わない手順になっている
ので今回は参照しない

必要な手順
1. Eclipseにインポート
2. CommonUtilities.javaを修正
 - SERVER_URL
  <開発PCのIPアドレス>/gcm-demoを設定
 - SENDER_ID
  取得したGCM sender IDを設定
 
動かしてみる
動かす前に

エミュレータで動かす場合
Google APIのエミュレータが必要

実機で動かす場合
開発PCと実機が同じLANの下にいるこ
と
 
動かしてみる
Jettyを起動

ブラウザから下記のアドレスにアクセス
http://localhost:8080/gcm-demo/home




 
動かしてみる
端末アプリを起動


起動するとGCMの
登録処理が開始され
る。


登録が成功すると右
の画面になる。
動かしてみる
サーバサイドで登録成功を確認。
ブラウザをリロードする。
端末の登録が成功すると下記の画面になる。




 
動かしてみる
メッセージを送ってみる。
Send Messageボタンをクリック。
送信が成功すると下記の画面になる。




 
動かしてみる
メッセージの受信


受信が成功すると
- 通知エリア
- アプリ画面内
にメッセージが表示
される。
まとめ
サンプルコードを動かしてみて

GCMを使うにはサーバサイドの知
識が必要。

公式のAPI Guideの情報は有用。
最後に
サンプルコードを読んでみて

 Servletはペイロードが空のメッセージを送っている。
 - SendAllMessagesServlet#doPost()参照

 Androidで表示されるメッセージはAndroidアプリ側
 で定義されたもの。
 - GCMIntentService#onMessage()参照

これでは面白くないので、メッセージのペイロードやパ
ラメータを簡単に変更してメッセージをプッシュできる
環境を構築してみたい。

More Related Content

PDF
Google Cloud Messaging for Android ことはじめ(もっと簡単に動かしてみる編)
PDF
Google Cloud Messaging for Android ことはじめ(Eclipseから動かしてみる編)
PDF
GCMでiOSとAndroidに通知を送る
PDF
Gcmを試してみた。
PDF
MobingiALM でスポットインスタンスをいい感じに手なづけている裏側の話 / How to manage EC2 Spot Instances
PDF
マルチクラウド環境でモビンギはどのようにコンテナを動かしているか
PDF
Alibaba Cloud で Docker を動かしてみよう [Hands-on]
PDF
MasterCloud Docker Hands-on 20170725
Google Cloud Messaging for Android ことはじめ(もっと簡単に動かしてみる編)
Google Cloud Messaging for Android ことはじめ(Eclipseから動かしてみる編)
GCMでiOSとAndroidに通知を送る
Gcmを試してみた。
MobingiALM でスポットインスタンスをいい感じに手なづけている裏側の話 / How to manage EC2 Spot Instances
マルチクラウド環境でモビンギはどのようにコンテナを動かしているか
Alibaba Cloud で Docker を動かしてみよう [Hands-on]
MasterCloud Docker Hands-on 20170725

What's hot (20)

PDF
OpenShift 3で、DockerのPaaSを作る話
PDF
VSCodeで始めるAzure Static Web Apps開発
PDF
ClojureでElectronアプリを作ろう
PDF
【BS12】Visual Studio 2022 40分一本勝負!
PDF
第9回rest勉強会 ダウンロード・アップロード編
PDF
Github codespaces すごく良い。もうこれで 十分なんじゃという話
PDF
AzureDevOpsで作るHoloLensアプリCI環境
PDF
Datalab and colaboratory
PDF
Bicep + VS Code で楽々Azure Deploy
PDF
高速!Clojure Web 開発入門
PDF
Serverless on GCP
PDF
新しいOpenShiftのしくみを調べてみた
PPTX
20191120 beyondstudy#21 okazaki
PDF
入門ClojureScript
PDF
KubernetesとOpenShiftの話
PDF
Clojure の各種React系ラッパーライブラリのサーバーサイドレンダリングの現状について
PDF
2020/06/16 tsjp-azure-staticwebapps-vs_codespaces
PDF
【BS9】モダン & クラウドネイティブなソフトウエア開発はじめよう ~ Azure DevOps & GitHub を使ったアプリ開発 DevOps 101
PDF
Google Container Engine (GKE) & Kubernetes のアーキテクチャ解説
PDF
実践リーダブルコードのアイスブレイク
OpenShift 3で、DockerのPaaSを作る話
VSCodeで始めるAzure Static Web Apps開発
ClojureでElectronアプリを作ろう
【BS12】Visual Studio 2022 40分一本勝負!
第9回rest勉強会 ダウンロード・アップロード編
Github codespaces すごく良い。もうこれで 十分なんじゃという話
AzureDevOpsで作るHoloLensアプリCI環境
Datalab and colaboratory
Bicep + VS Code で楽々Azure Deploy
高速!Clojure Web 開発入門
Serverless on GCP
新しいOpenShiftのしくみを調べてみた
20191120 beyondstudy#21 okazaki
入門ClojureScript
KubernetesとOpenShiftの話
Clojure の各種React系ラッパーライブラリのサーバーサイドレンダリングの現状について
2020/06/16 tsjp-azure-staticwebapps-vs_codespaces
【BS9】モダン & クラウドネイティブなソフトウエア開発はじめよう ~ Azure DevOps & GitHub を使ったアプリ開発 DevOps 101
Google Container Engine (GKE) & Kubernetes のアーキテクチャ解説
実践リーダブルコードのアイスブレイク
Ad

Similar to Google Cloud Messaging for Android ことはじめ(サンプルコードを動かしてみる編) (20)

PDF
試して学べるクラウド技術! OpenShift
KEY
SEAndroid -AndroidのアーキテクチャとSE化について-
ODP
Nseg20120929
PDF
Prometheus超基礎公開用.pdf
PDF
Grailsのススメ(仮)
PDF
Groovy base gradle_20130309
PDF
Code igniterでテスト駆動開発 資料作成中
PDF
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
PDF
Gws 20120521 gradle
PDF
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
PDF
[GKE & Spanner 勉強会] GKE 入門
PPTX
EWD 3 トレーニング・コース #1 Node.jsとGT.Mの統合方法
PPTX
node-gypを使ったネイティブモジュールの作成
PDF
Android App Development with Gradle & Android Studio
PDF
OpenShiftでJBoss EAP構築
PDF
NPAPIを使ったandroid標準ブラウザの拡張方法
PDF
SDLoader SeasarCon 2009 Whire
PDF
環境構築自動化ツールのご紹介
PDF
CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜
PDF
Let's play with Goldfish
試して学べるクラウド技術! OpenShift
SEAndroid -AndroidのアーキテクチャとSE化について-
Nseg20120929
Prometheus超基礎公開用.pdf
Grailsのススメ(仮)
Groovy base gradle_20130309
Code igniterでテスト駆動開発 資料作成中
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
Gws 20120521 gradle
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
[GKE & Spanner 勉強会] GKE 入門
EWD 3 トレーニング・コース #1 Node.jsとGT.Mの統合方法
node-gypを使ったネイティブモジュールの作成
Android App Development with Gradle & Android Studio
OpenShiftでJBoss EAP構築
NPAPIを使ったandroid標準ブラウザの拡張方法
SDLoader SeasarCon 2009 Whire
環境構築自動化ツールのご紹介
CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜
Let's play with Goldfish
Ad

Google Cloud Messaging for Android ことはじめ(サンプルコードを動かしてみる編)