Android, iOS, Chromeにメッセージ送信可能なGCM 3.0

GCM 3.0でGoogleが試みたのは,登録プロセスを簡略化すること,そして同社のクラウド通知システムをAndroid, iOS, Chromeで同じように動作させることだ。そのために,新たなトピックグループとメッセージ診断ツールが用意された。

アプリケーションはそれぞれ,特定のデバイス上で動作するアプリケーションに関連付けられた識別子としてインスタンスIDを受け取る。インスタンスIDは,アプリケーションがそのデバイスからアンインストールされるまで,それぞれのアプリケーションの寿命を通じて有効である。プッシュメッセージは,APIコールを通じて生成されるセキュリティトークンを使って認証される。セキュリティトークンが棄損された場合は,置き換えることができる。

GCMの便利な機能がデバイスグループだ。通知キーを受信するGCM上でデバイスグループを生成して,グループ全体にメッセージを送信することができる。グループは編集したり,クライアントを追加あるいは削除することも可能だ。グループには最大20のデバイスを含めることができる。ひとりのユーザが所有するすべてのデバイスにメッセージを送信するには,実用的な数だ。クライアントからグループにメッセージを送ることもできる。

GCM 3.0では,多数のクライアントにメッセージを送信するトピックメッセージングが導入されている。ひとつ以上の トピックを生成して,各トピックにクライアントを登録する。そのトピックに対してメッセージを送信すれば,登録されたすべてのクライアントに対してGCMが情報通知してくれる仕組みだ。この方法で多数のクライアントに,場合によってはすべてのクライアントに到達することもできる。

開発コンソールにGCM診断メッセージ用のツールが追加された。最大で30個の最新メッセージを,詳細な情報と合わせて確認することが可能になる。このツールでは,メッセージ送信後数分間の診断情報を取得することができる。

これらの新機能は,Android, iOS, Chrome上でほぼ同じように動作するが,Appleのデバイスにメッセージ送信する場合に限り,ひとつ違いがある。iOSではまずAPNSサーバに接続してトークンを取得し,それを使ってGCMトークンを取得しなければならない。実際の通信では,アプリケーションがiOSデバイス上でバックグラウンドにある限り,GCMはAPNSを使用してメッセージを送信する。従ってアプリケーションの動作は,Appleの通知システムを使う場合と同じになる。アプリがアクティブになると,GCMはアプリと直接通信する。アップストリームメッセージやマルチキャスティング,メッセージストリーミングなどを含む,すべてのGCM APIがiOSアプリから使用可能になる。

Googleによると,現在GCMには60万のアプリケーションが登録されていて,毎秒110万のメッセージを15億台のデバイスに送信している。2015年内に処理されるメッセージの数は25兆を越える見込みだ。メッセージの平均待ち時間は世界全体で50msである。サービスは引き続き無料で使用できる。

今年のI/O 2015セッション(ビデオ)では,GCM 3.0がより詳細に紹介されている。