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

  • 2,940 views
Uploaded on

 

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,940
On Slideshare
0
From Embeds
0
Number of Embeds
7

Actions

Shares
Downloads
7
Comments
0
Likes
2

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Google Cloud Messaging for Android ことはじめ サンプルコードを動かしてみる 編 @kojiokb
  • 2. サンプルコードを動かすGCM for Android Libraryにはサンプルコード「gcm-demo」が収録されている。まずはサンプルコードを動かしてみる。※本ドキュメントの環境はMacですが、Windowsでも適宜読み替えていただければ大丈夫かと。
  • 3. 必要なものGoogle Cloud Messaging forAndroid LibraryJettyGCM sender ID・API Key
  • 4. Google Cloud Messaging for Android Library Android SDK Managerからダウン ロードする。
  • 5. JettyJettyとは オープンソースのJava Servletコン テナ・Webサーバ。サンプルコードのサーバサイドはServletで作られている。
  • 6. 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 
  • 7. Jettyの起動・停止起動$ <JETTY_HOME>/bin/jetty.sh start停止$ <JETTY_HOME>/bin/jetty.sh stop
  • 8. Jettyの起動確認ブラウザから下記のURLにアクセスhttp://localhost:8080
  • 9. GCM sender ID API KeyGCMを使うには GCM sender ID と API Key が必要取得方法は下記を参照。[公式] GCM: Getting Startedhttp://developer.android.com/guide/google/gcm/gs.html[日本語訳] GCMをはじめよう(ソフトウェア技術ドキュメントを勝手に翻訳)https://sites.google.com/a/techdoctranslator.com/jp/android/guide/google/gcm/gs
  • 10. サンプルコードサンプルコード「gcm-demo」は下記に<SDK-Root>/extras/google/gcm/samples/・gcm-demo-client -> Androidアプリ・gcm-demo-server -> Servlet・gcm-demo-appengine -> GAE今回はAndroidアプリとServletを使う。 
  • 11. Servletチュートリアルを参照[公式] Demo App Tutorialhttp://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/に格納
  • 12. Androidアプリ公式チュートリアルはEclipseを使わない手順になっているので今回は参照しない必要な手順1. Eclipseにインポート2. CommonUtilities.javaを修正 - SERVER_URL  <開発PCのIPアドレス>/gcm-demoを設定 - SENDER_ID  取得したGCM sender IDを設定 
  • 13. 動かしてみる動かす前にエミュレータで動かす場合Google APIのエミュレータが必要実機で動かす場合開発PCと実機が同じLANの下にいること 
  • 14. 動かしてみるJettyを起動ブラウザから下記のアドレスにアクセスhttp://localhost:8080/gcm-demo/home 
  • 15. 動かしてみる端末アプリを起動起動するとGCMの登録処理が開始される。登録が成功すると右の画面になる。
  • 16. 動かしてみるサーバサイドで登録成功を確認。ブラウザをリロードする。端末の登録が成功すると下記の画面になる。 
  • 17. 動かしてみるメッセージを送ってみる。Send Messageボタンをクリック。送信が成功すると下記の画面になる。 
  • 18. 動かしてみるメッセージの受信受信が成功すると- 通知エリア- アプリ画面内にメッセージが表示される。
  • 19. まとめサンプルコードを動かしてみてGCMを使うにはサーバサイドの知識が必要。公式のAPI Guideの情報は有用。
  • 20. 最後にサンプルコードを読んでみて Servletはペイロードが空のメッセージを送っている。 - SendAllMessagesServlet#doPost()参照 Androidで表示されるメッセージはAndroidアプリ側 で定義されたもの。 - GCMIntentService#onMessage()参照これでは面白くないので、メッセージのペイロードやパラメータを簡単に変更してメッセージをプッシュできる環境を構築してみたい。