[翻訳] Google Cloud Messaging の Overviewを翻訳してみた。

ちょっと業務で使う予定があり調べ物をしていたのだが、少し時間が余ったりしたので、ちょっとGoogleのドキュメントを翻訳してみました。
といっても、Overview(概要)のページだけですが。

素人のつたない英訳なので細かい部分など間違いはあるかもしれませんが、大まかな部分は間違っていない・・・はずです。(^^;

若干行間が大きくて読みにくいですが、ウェブリブログの仕様ということでご承知いただければと思います。
(CSS書いて直せばいいんですが、さすがにそこまでやる気力はありませんでした…)

原文との対応がわかりやすいほうがいいかと思ったので、各項目の見出しはそのままにしています。
原文はこちらです。 => http://developer.android.com/google/gcm/gcm.html


Overview


Google Cloud Messaging for Android (GCM) は、開発者が自身のサーバからAndroidデバイス上のアンドロイドアプリケーションに向けてデータを送信したり、ユーザーデバイスからクラウドへとメッセージを送信することを助けるサービスです。このクラウドは、読み取りサーバから軽量なメッセージをAndroidアプリケーションに伝えたり(たとえばサーバとバックエンドで同期し、「新着メール」通知をアプリケーションに知らせたりします)、またはメッセージに最大4KBのデータを含めることも可能です(このため、インスタントメッセンジャーのようにアプリに直接データを受け渡すことが可能です)。GCMサービスは、Androidアプリケーションが動作する全てのターゲットデバイスへのメッセージの待ち行列に関する全ての処理を行います。


GCMをあなたのアプリケーションの中に組み込みたい場合は、「Getting Started」の章を確認して下さい。


GCMの主な特徴は次の通りです。



  • サードパーティーアプリケーションサーバ(第3者が開発したアプリケーションのサーバ)からのメッセージを、その開発者のAndroidアプリケーションへ届けます。

  • GCM Cloud Connection Serverを利用することで、あなたはユーザーデバイスからの送信メッセージを受け取ることができます。

  • Androidアプリケーションがメッセージを受信する際、Androidデバイス上で起動されている必要がありません。AndroidアプリケーションはIntentブロードキャストを通じてメッセージを受信し、起動するため、アプリケーションにはブロードキャストの受信機能と権限が適切に設定されてさえいればよいのです。

  • この機能には、ユーザーインターフェースや処理用のメッセージデータは何も用意されていません。GCMは生のメッセージデータをAdnroidアプリケーションにそのまま届けるため、これをどのように処理することもできます。たとえば、アプリケーションは受信情報を通知し、画面に個別のユーザーインターフェースを表示することもできれば、何も通知せず、静かにデータと同期を取ることもできます。

  • この機能を利用するには、デバイスでAndroid2.2以上で、かつGoogle Play Store アプリケーションがインストールされているデバイスか、または、Android2.2 with Google APIsが動作するエミュレーターである必要があります。つまり、あなたのアプリケーションが、Google Play Storeを通じて配信されるアプリケーションであれば、なんら制限されること無く動作することができます。

  • この機能はGoogle Servicesのために既存接続を使用します。3.0以前のデバイスで動作する場合には、ユーザーに対して、端末上でGoogleアカウントを設定するよう、要求します。これは、Android4.0.4以降を利用するユーザーは必要としません。


Key Concepts(用語表)


この表は、GCMに関する重要な用語と概念をまとめたものです。これらは以下のカテゴリに分類されます。



  • Components このエントリーはGCMの主要な役割として再生されます。

  • Credentials このIDとトークンは当事者の認証し、メッセージを正しい場所に届けるために、GCMのさまざまな段階で使用されます。



表1.GCM 構成要素と証明











Components(構成要素)
Client Appデバイス上で実行されている、GCM対応Androidアプリケーションのことです。これには、Android 2.2以上のデバイスにGoogle Play Storeがインストールされている必要があり、Android4.0.4以下のデバイスの場合は、少なくとも一度以上、Googleアカウントでログインしている必要があります。もしあなたがテストの為エミュレーターを使用するのであれば、Google APIs に対応したAndroid 2.2以上が必要です。
3rd-party Application ServerGCM実装の一部として、あなたが用意する必要のあるアプリケーションサーバです。このサーバが、GCMコネクションサーバを通じて、Androidアプリケーションがインストールされたデバイスに対して、データを送信します。
GCM Connection ServersGoogleが提供するサーバで、あなたのアプリケーションサーバからメッセージを受け取り、これをデバイスに送信します。
Credentials(証明)
Sender IDあなたがAPIコンソールから取得するプロジェクトナンバーです。詳細はGetting Startedで説明しています。Sender IDは、デバイスへのメッセージ送信が許可されたアプリケーションサーバかどうかの特定や認証プロセスで使用されます。
Application IDAndroidアプリケーションがメッセージを受信するために登録します。Androidアプリケーションは、マニフェストファイルのパッケージネームで識別されます。これによって、メッセージは適切なAndroidアプリケーションへと届けられます。
Registration IDAndroidアプリケーションがメッセージを受信することを可能にするために、GCMサーバによって発行されるIDです。Androidアプリケーションの登録時に発行されるIDで、登録時にアプリケーションサーバに送信され、Androidアプリケーションから、デバイスの識別やメッセージを受信済みかどうかの情報を取得するために使います。つまり、Registration IDは、特定のデバイスでAndroidデバイスで実行されている、特定のAndroidアプリケーションと関連付けされています。
注意:もしあなたがバックアップとリストア機能をつかうのであれば、Resistration IDを明示的にバックアップすることは避けて下さい。あなたが端末をバックアップした際、アプリは共有環境も全てバックアップを行います。もし、あなたがGCM Registration IDを明確に除外していなかった場合は、新しいデバイスで再登録仕様とした際、エラーが発生することになります。
Google User AccountGCMが動作するためには、Android4.0.4以前のバージョンが動作する端末では、少なくとも1回、Googleアカウントにアクセスしている必要があります。
Sender Auth Tokenサードパーティアプリケーションサーバ上に保存されているAPIkeyのことで、Googleサービスに登録した際に与えられるものです。APIkeyには、POSTリクエストヘッダーおよび送信するメッセージが含まれています。


Architectural Overview(構成概要)


GCMは、Googleによって提供されるコネクションサーバに実装されており、サードパーティーアプリケーションサーバとコネクションサーバ、としてGCM対応クライアントが動作するAndroidデバイスの相互に作用します。



各構成要素はどのように作用するのか。



  • Googleが提供するGCMコネクションサーバはサードパーティーアプリケーションサーバからメッセージを受け取り、そしてGCM対応アプリケーション(以下、クライアントアプリ)が動作するデバイスに対して、このメッセージを送信します。

  • サードパーティアプリケーションサーバは、あなたが選択したGCMコネクションサーバに対して働きかけるよう実装されます。アプリケーションサーバはGCMコネクションサーバにメッセージを送信し、コネクションサーバはそのメッセージをキューに蓄積し、デバイスがオンラインになったとき、デバイスに対してこれを送信します。さらに詳細な情報はImplementing GCM Serverの項目を確認して下さい。

  • クライアントアプリとは、デバイス上で動作するGCM対応Androidアプリのことです。GCMメッセージを受信するには、アプリはGCMに登録し、Registration IDを取得する必要があります。もし、あなたがXMPP(CCS)コネクションサーバを利用する場合、クライアントアプリはコネクションサーバに対してメッセージを「送信」することもできます。クライアントアプリの実装方法の詳細については、Implementing GCM Clientの項目を確認して下さい。



Lifecycle Flow(一連の流れ)



  • GCMの有効化。モバイル端末上で動作しているAndroidアプリケーションが、メッセージの受信状態にあることを登録します。

  • メッセージの送信。サードパーティーアプリケーションサーバが、端末にメッセージを送ります。

  • メッセージの受信。AndroidアプリがGCMサーバからメッセージを受信します。


より詳細な動きについては、各項目を参照して下さい。


Enable GCM(GCMの有効化)


Androidアプリケーションはメッセージングサービスを使用するに当たって最初に、GoogleCloudMessagingのregister()メソッドを呼び出し、Implementing GCM Clientに記載の手続きを行う必要があります。register()メソッドはRegistration IDを返します。AndroidアプリケーションはこのIDを保持し、(たとえば、onCreate()メソッドの中ですでに登録済みかどうかを判定したりするために)使用します。


メッセージの送信


ここに、アプリケーションサーバがメッセージを送信した際に発生するイベントの流れを示します。



  1. アプリケーションサーバがGCMサーバへメッセージを送信します。

  2. Googleは、対象端末がオフラインだった場合には、メッセージをキューに蓄積します。

  3. 端末がオンラインになったとき、Googleはメッセージを端末に送信します。

  4. デバイスは、適切な権限と機能を許可されたAndroidアプリケーションに対して、Intentブロードキャストを介してメッセージを渡すことで、ターゲットとなるAndroidアプリケーションだけがメッセージを受信することができます。このとき、Androidアプリケーションが起動されます。Androidアプリケーションは、メッセージを受信したときには、起動されている必要はありません。

  5. Androidアプリケーションがメッセージプロセスを実行します。Androidアプリがバックグラウンドで動作したい場合には、PowerManager.WakeLockを取得し、全ての処理をService内で行うこともできます。


メッセージを受信したくない場合は、GCMの登録を解除することができます。


Receive a message(メッセージの受信)


以下の内容は、メッセージを受信したモバイル端末にインストールされた、アプリケーション内部で発生するイベントの動きです。



  1. システムがメッセージを受信すると、もし受信メッセージのペイロード内に生のkeyとその値のペアを生成します。

  2. システムは、生成したキーと値のペアを、com.google.android.c2dm.intent.RECEIVEのIntent extrasに設定し、対象となるAndroidアプリケーションに渡します。

  3. Androidアプリケーションは、com.google.android.c2dm.intentRECEIVEのIntentの、キーと処理データから、生のデータを抽出します。






以上。
まぁ、何かのときにでも誰かの役に立てれば幸いです。

では~。

=========================気になる情報。
"世界のヒーロー100人"に選出のジャーナリスト、寺澤有氏が会見「日本の大手メディアは警察を批判できない」 1/2

ハラール肉と排外ヒステリア

JSFIDDLE

イチエフの東電社員たちは吉田所長の命令に背いて第二原発に”逃げた”のか? togetter版

一家に1枚|科学技術週間

GNU GPL v3 解説書


Google Androidプログラミング入門 改訂2版
アスキー・メディアワークス
江川崇

amazon.co.jpで買う
Amazonアソシエイト by Google Androidプログラミング入門 改訂2版 の詳しい情報を見る / ウェブリブログ商品ポータル



Building Android Apps: Learn to Build Android
2014-03-24
Ankit Sharma

amazon.co.jpで買う
Amazonアソシエイト by Building Android Apps: Learn to Build Android の詳しい情報を見る / ウェブリブログ商品ポータル



DOKUMAN - シンプルコミックビューワー
Kim Tae Doo
2013-07-12

amazon.co.jpで買う
Amazonアソシエイト by DOKUMAN - シンプルコミックビューワー の詳しい情報を見る / ウェブリブログ商品ポータル


この記事へのコメント

この記事へのトラックバック

テーマ別記事