Chrome拡張機能にpush通知をしよう:Google Cloud Messaging for Chrome入門(1)(1/2 ページ)
簡単なGoogle Chrome拡張機能を作成し、それにGoogle Cloud Messaging for Chrome機能を追加しましょう。
Google Cloud Messaging for Chromeとは何か
2013年5月より、Google Cloud Messaging for Chromeのサービスが開始されました。
- Google Cloud Messaging for Chrome - Google Chrome
- chrome.pushMessaging - Google Chrome
- API Reference for GCM service - Google Chrome
Google Cloud Messaging (GCM) for Chromeは、Google Chromeの拡張機能(Extension)のユーザに対して、拡張の開発者のサーバからプッシュ通知を送ることのできるサービスです。Chrome Packaged Appsに対して送信することもできます。
もともとGCMはAndroidアプリに対してメッセージをプッシュするためのテクノロジとして生まれました。GCMを使うことで、クライアントからサーバに対して頻繁にポーリングをすることなく、Android端末に対して最新の情報を必要なときに送ることができるのです。それと同じような機能が、このたび、Google Chromeでも使えるようになったのです。
この記事は、簡単なGoogle Chrome拡張機能を作成し、それにGCM機能を追加していくチュートリアルとなっています。拡張の開発の初歩も簡単に解説しますので、Chrome拡張の開発自体が初めてという方もぜひ試してみてください。
GCM for Chromeの制限
GCM for Chromeには、次のような制限があります。
- 送信できるメッセージの本数は、1サービスあたり、1日に1万通までです。
- 1個のメッセージのサイズの上限は256bytesです。
- 対応バージョンはGoogle Chrome 24以降です。
- 送信対象は、Googleアカウントでログインし、拡張機能を有効にしているChromeのみです。
Google Cloud Messaging for Androidとの比較
Android開発者の方の中にはGCM for Androidの経験者もいらっしゃるでしょう。
GCM for Chromeは、「アプリをインストールしたユーザ個々に対して、Googleの提供するAPIを経由し、サーバからpush通知を送る」という点は一緒です。開発の手順やデータの流れなどは把握しやすいかとは思いますが、異なる点もたくさんあります。ここで比較します。
サポートライブラリの有無
GCM for Androidのサーバおよびクライアント向けには公式のライブラリが提供されていますが、これらはGCM for Chromeには利用できません。執筆時点では、GCM for Chrome用の公式ライブラリなどは提供されていません。
ペイロードのフォーマット
Android向けのGCMではペイロードをkey-value形式で送れるようになっていましたが、GCM for Chromeでは、ペイロードは文字列1本という形になっています。複雑なデータを送りたい場合は、JSON文字列として送って拡張の側でパースするなどの工夫が必要となります。
同時送信など
また、GCM for Androidでは可能な「複数宛先への同時送信」「Collapse Keyによってメッセージをまとめる」などの機能も現時点のGCM for Chromeにはありません(サブチャンネルという機能があり、4種類まではメッセージをまとめることもできます。)
体験までの流れ
本記事では、簡単なChrome拡張にGCM機能を組み込んでいきます。次のような手順で作業を進めますので、だいたいの流れを把握しておいてください。
- 元となるChrome拡張機能を用意する
- Google APIs Consoleでサービスを登録する
- 拡張にGCM機能を組み込む
- Chrome Web Storeにアップロードし、テスター限定でpublishする
- アクセストークンを取得する
- 送信してみる
- 今後開発がしやすいように、拡張のキーを取得し、マニフェストファイルに埋め込む
Copyright © ITmedia, Inc. All Rights Reserved.