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

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

  • Upload
    kojiokb

  • View
    3.070

  • Download
    0

Embed Size (px)

Citation preview

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

Google Cloud Messaging for Androidことはじめ

サンプルコードを動かしてみる 編@kojiokb

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

サンプルコードを動かすGCM for Android Libraryにはサンプルコード「gcm-demo」が収録されている。まずはサンプルコードを動かしてみる。

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

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

必要なものGoogle Cloud Messaging for Android Library

Jetty

GCM sender ID・API Key

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

Google Cloud Messaging for Android LibraryAndroid SDK Managerからダウンロードする。

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

JettyJettyとは

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

サンプルコードのサーバサイドはServletで作られている。

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

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 

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

Jettyの起動・停止起動

停止

$ <JETTY_HOME>/bin/jetty.sh start

$ <JETTY_HOME>/bin/jetty.sh stop

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

Jettyの起動確認ブラウザから下記のURLにアクセスhttp://localhost:8080

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

GCM sender IDAPI Key

GCMを使うには 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

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

サンプルコードサンプルコード「gcm-demo」は下記に

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

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

今回はAndroidアプリとServletを使う。 

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

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/に格納

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

Androidアプリ公式チュートリアルはEclipseを使わない手順になっているので今回は参照しない

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

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

動かしてみる動かす前に

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

実機で動かす場合開発PCと実機が同じLANの下にいること 

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

動かしてみるJettyを起動

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

 

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

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

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

登録が成功すると右の画面になる。

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

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

 

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

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

 

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

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

受信が成功すると- 通知エリア- アプリ画面内にメッセージが表示される。

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

まとめサンプルコードを動かしてみて

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

公式のAPI Guideの情報は有用。

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

最後にサンプルコードを読んでみて

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

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

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