改C2 dmを試してみた。

1,947 views

Published on

c2dm
android

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,947
On SlideShare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

改C2 dmを試してみた。

  1. 1. 11/23/11 C2DMを試してみた。 (Cloud to Device Messaging )   2011年11月27日 つるつる(都留 栄一)日本Androidの会 大分支部 第12回Android勉強会 Page1
  2. 2. 11/23/11 はじめに、C2DMって?(Cloud to Device Messaging) -特定端末へメッセージをPuah送信する仕組みです。 GoogleがC2DMサーバを提供しています。(メッセージ=1024バイトまで。) -自前で準備した送信サーバから任意のタイミングで、C2DMサー バを経由し、端末側アプリへメッセージ送信できます。 -端末側アプリでは、メッセージ受信をポーリングする処理を書 く必要が無いです。 (一度アプリを起動してC2DMサーバに登録+送信サーバに登録 IDをお知らせした後は、アプリ本体は起動してなくても、 メッセージ受信をトリガに処理します。) -メッセージ送信時、端末が圏外等でも、C2DMがメッセージを保 持してくれ、通信圏内に入ったら再送してくれる様です。日本Androidの会 大分支部 第12回Android勉強会
  3. 3. 11/23/11 ところで、今日のLTのゴールですが・・・。 ・Androidで扱えるプッシュ技術(C2DM)に、 “何かしら興味を持って貰えること。“ 続くスライド16枚を使って、以上を目標に テンパッテ 「がんばって」みます。日本Androidの会 大分支部 第12回Android勉強会
  4. 4. 11/23/11 構成要素ですが・・・。 おおざっぱに、3つです。 利用登録する作業要素もありますが、 C2DM 後に回します。 (Google提供) Android端末アプリ 送信サーバ (自分で準備) (自分で準備)日本Androidの会 大分支部 第12回Android勉強会
  5. 5. おおざっぱに、 11/23/11 メッセージお届けまでの流れ。①~⑤ ⑤メッセージお届け(”ほげ”) C2DM (Google提供) ①登録リクエスト ④任意のタイミングで ID+投げるメッセージ ②端末とアプリがヒモ (例:A123+”ほげ”) ついたID付与 (例:A123) Android端末アプリ 送信サーバ (自分で準備) (自分で準備) ③取得IDを知らせる (例:A123)日本Androidの会 大分支部 第12回Android勉強会
  6. 6. 11/23/11 各要素の働きをマトメると。 ・端末+アプリ特定IDの管理 ・メッセージ送受信処理 C2DM (Google提供) ・端末+アプリ特定IDの保持 ・端末登録リクエスト処理 ・C2DMサーバへリクエスト ・メッセージ受信の処理 ・C2DMサービス利用AuthIDの保持 Android端末アプリ 送信サーバ (自分で準備) (自分で準備) 概要説明はここまで。そろそろ作りましょうか。。。日本Androidの会 大分支部 第12回Android勉強会
  7. 7. 11/23/11 まずは、C2DM利用登録から。 • C2DMのサービスを利用するには、以下の URLで事前登録が必要です。 事前に、Googleのアカウントを用意(例:hoge@gmail.com) http://code.google.com/intl/ja/android/c2dm/signup.html 登録が正常に済むと、しばらくして登録終了メールが届きます。日本Androidの会 大分支部 第12回Android勉強会
  8. 8. 11/23/11 Android側アプリ作ってみる。 ・ボタンを押すことで、①②③までの処理を行わせます。 C2DM (Google提供) ①登録リクエスト ②端末とアプリがヒモ ついたID付与 (例:A123) Android端末アプリ (自分で準備) ③取得IDを知らせる (例:A123)日本Androidの会 大分支部 第12回Android勉強会
  9. 9. 11/23/11 ①リクエスト処理 ・ボタンを押すことで、①の登録リクエストを行うところまで。 • ソースを載せる • 画面を載せる。 • 登録後、システムのサ スが追加されてる画面日本Androidの会 大分支部 第12回Android勉強会
  10. 10. 11/23/11 ②受信処理 ・C2DMから付与されるIDやメッセージ受信時の処理日本Androidの会 大分支部 第12回Android勉強会
  11. 11. 11/23/11 ③送信処理 ・メール送信の細かいソースは、本題ではないので省略します。日本Androidの会 大分支部 第12回Android勉強会
  12. 12. 11/23/11 マニフェストファイル 以上で、端末側アプリの作成終了です。日本Androidの会 大分支部 第12回Android勉強会
  13. 13. 11/23/11 次に、送信サーバ側を作ってみる。 • PHP等でC2DMサーバにPOST等を行う為の送信サーバ処理機能が 必要になるのですが、PHPを調べたりするのが手間だなぁ。と 思ってたら、CURLとかゆう物で代用できる様です。 今回は、そちらを利用させていただく事にしました。 • CURLはこちらかダウンロード http://www.cafe-gentle.jp/challenge/niconico/nico_video_005.html CURLの準備ができたら、以下のデータを準備します。 ☆『端末ID』(先の端末アプリでボタン押下時のC2DMサーバより付与されるID) ☆『送りたいメッセージ』(文字列”http://www.yahoo.co.jp“ を準備した。) ☆『認証トークン』(Auth=で始まる文字列 ※次のページで説明しまします。)日本Androidの会 大分支部 第12回Android勉強会
  14. 14. 11/23/11 送信サーバ側を作る前に。 • C2DMサービスを経由して、端末アプリへメッセージを送信するた め、認証Tokenを取得します。 https://www.google.com/accounts/ClientLogin? Email=hoge@gmail.com&Passwd=hogepass&MyCorp- Myname-Ver&service=ac2dm こんな、認証結果が表示されます。 使うのは、「Auth=」で始まる文字列です。かなり長い文字列です。。。 メッセージをC2DMへ送る際に使うので、とっておいてください。日本Androidの会 大分支部 第12回Android勉強会
  15. 15. 11/23/11 CURLでメッセージPOST curl --header "Authorization: GoogleLogin auth=白白白" "https://android.apis.google.com/c2dm/send" -d registration_id="赤赤赤" -d "data.testdata=http://www.yahoo.co.jp/" -d collapse_key=something -k 成功すると、以下のようなメッセージが表示される。文字列の意味は解りませんが。。。日本Androidの会 大分支部 第12回Android勉強会
  16. 16. 11/23/11 メッセージが届くと。。。いきなり。 今回のサンプルアプリでは、メッセージ 受信したURLを拾って、ブラウザ起動す るIntent処理を行ってます。 あと、受信時にブルブルとバイブを振動 させたりもしてみました。 メッセージ受信しての振る舞いは、いろ いろとアイデアしだいで、妄想が膨らむ 処理が盛り込めると思います。。。日本Androidの会 大分支部 第12回Android勉強会
  17. 17. 11/23/11 こっそり動いてるC2DMですが、 OSのここを見ると、コッソリ動いてるか確認できます。 [設定]-[アプリケーション]-[実行中のサービス]-[Googleサービス] ← クラウド デバイスメ・・ 端末確認して、入れた覚えも無いのに勝手にサービス が起動してないかな? C2DM使うアプリをインストールする場合は、確か 最初に確認メッセージが出たはずです。 ただ不在時などに勝手にインストールされてると・・・。日本Androidの会 大分支部 第12回Android勉強会
  18. 18. 11/23/11 もうすこし詳しい内容ですが・・・。 • 調べてみると、以前の勉強会(第4回) でC2DMについて、本田さんがマトメられ た資料がある事が解った。 • 細かい内容は、第4回の勉強会の資料で も確認してください!!   http://www.slideshare.net/kponda/ss-7457261日本Androidの会 大分支部 第12回Android勉強会
  19. 19. 11/23/11 最後に、疑問点など・・・。• ・偶に、メッセージが届くのに10分前後掛かるときが。何で? (今どんな状態かC2DMサーバに確認出来ないのかな? 心配になる。。。。) ・Google-Labs扱いのサービスなのだが、何時まで使える? (Googleが近いうちにLabsを止める様な事を聞いた。様な。。。 でも、C2DMを使ったサービスを提供している所もあり、スグに終了する様な事は 無いような事も聞いた。様な。。。 正確な情報が解らない。。。)日本Androidの会 大分支部 第12回Android勉強会
  20. 20. 11/23/11 ご清聴ありがとうございました。 おわり。日本Androidの会 大分支部 第12回Android勉強会

×