こんばんは。kimukimuです。
一応、最近の一連の投稿はAndroid2.3新機能シリーズ。。。なんですが、
実はAndroidには、Android2.2から加わった忘れちゃいけない新機能があります。
C2DM(Cloud to Device Messaging)です。
と、ただその前に最近のAndroidニュースを。
1.最近のAndroidニュース
最近あった個人的に大きなAndroidニュースは、
Intel Developer Forum 2011で発表された、
「将来登場する Android 全てのバージョンで Intel チップをサポートし、
Intel Architectureに向けて最適化していく」
というニュースです。
これまでAndroidはArmアーキテクチャのCPUに対してメインで開発されてきました。
そのため、IntelCPU(デスクトップ/ノートPC)に対する対応はどうしても遅れており、
自前でマシン組んでAndroidをインストールしてみようという選択にはなりにくかったです。
※尚、2011/09/16の時点で、Intel CPU向けのAndroidはAndroid2.3.1のRC版までリリース
※Arm CPU版Androidに比べて4バージョン以上遅いです。
IntelCPUに対してAndroidが最適化されれば小さいマシンを組んだ際に
Androidをインストールする選択肢が出てきます。
また、VMWare/VirtualBoxといった仮想環境に対しても
最新のAndroidがインストール可能となります。
Androidエミュレータがやたらと重いことを考えると、
仮想環境にAndroidを直接インストールできるというのは地味にうれしいです。
・・・ちょっとマニアックだったでしょうか^^;
2.C2DMって何なの?
では、C2DMに戻りましょう。
C2DMとは何か?
一言で言うと、
「Android 上のアプリケーションにデータを送信することができるようにするサービス」です。
C2DMサービスを使用することによって、
開発者はAndroid端末で起動したアプリケーションに対して、
端末レベルで指定してメッセージの配信ができるようになります。
C2DMが登場するまで、Androidアプリというのは基本的に
Pull型(端末から情報を取りに行く方式)で情報を取得していたと思います。
3.C2DMを実現するためには何が必要なの?
C2DMアプリケーションを実現するためには、下記の3つが必要になります。
・1.Android端末
当然ながら、Pushメッセージを受け取るためにはAndroid端末が必要です。
・2.Google C2DMサーバ
Android端末を識別し、Pushメッセージを飛ばすための基盤です。
Googleが保持し、提供しています。
・3.メッセージ配信サーバ
Google C2DMに対してPushメッセージの配信依頼を行うサーバです。
2は元々存在しているので、試すためには1と3が必要です。
尚、ちょうどGoogleなので、3:メッセージ配信サーバには
GAEJ(Google App Engine for Java)を使わせてもらうのがよさそうですね。
つまり自分ではAndroid端末しか用意しないとも言います^^;
1と3を用意する手順と、後必要な技術要素を
C2DMアプリケーションのサンプルを用いて次回から説明していきます。
お楽しみに!