About GCM

981 views

Published on

Google Cloud Messaging

Published in: Technology
  • Be the first to comment

  • Be the first to like this

About GCM

  1. 1. はじめての Google Cloud Messaging (GCM) [β版] 2012年8月20日 Teruaki Kinoshita @metal_presidentCopyright (C) 2012 Groove Systems Inc. All Rights Reserved. 1
  2. 2. 情 報 源 • GCM:Getting Started http://developer.android.com/guide/google/gcm/gs.html • Migration http://developer.android.com/guide/google/gcm/c2dm.html • Google Cloud Messaging (GCM) https://support.google.com/googleplay/android-developer/support/bin/answer.py? hl=ja&answer=2663268Copyright (C) 2012 Groove Systems Inc. All Rights Reserved. 2
  3. 3. C2DMとの違い • APIキーの取得がシンプルに! • Sender IDはメアドじゃない! • HTTPリクエストでJSON形式をサポート! • 同時に複数(最大千?)のデバイスにメッセージ送信可能に! • 複数のサーバーからメッセージの送信が可能に! • 最大4週間までサーバー上にメッセージが保存される! • 最大4KBのメッセージと100件までの保存が可能に! • GCMが正しい登録IDを教えてくれる!?(ちょっとよくわかりませんw) • C2DMとGCMは、相互運用性はありません!! ※注意:上記翻訳はかなり怪しいですCopyright (C) 2012 Groove Systems Inc. All Rights Reserved. 3
  4. 4. APIキーの取得 • API Consoleにアクセスする。始めての人は[Create Project...] https://code.google.com/apis/console/ URLに含まれている #project:xxxxxxxxxx が プロジェクトIDとなる。 • [API Access]メニュー内の Google Cloud Messaging for Androidを[ON] • [API Access]メニュー内の[Create new Server key...]からキーを作成             ※作成しなくてもデフォルトで作成されているキーでもOK?Copyright (C) 2012 Groove Systems Inc. All Rights Reserved. 4
  5. 5. ひとまず私はC2DMから移行したいので... [アプリ側] Sender IDをプロジェクトIDに置き換えるだけだぜ!! Intent registrationIntent = new Intent("com.google.android.c2dm.intent.REGISTER"); // sets the app name in the intent registrationIntent.putExtra("app", PendingIntent.getBroadcast(this, 0, new Intent(), 0)); registrationIntent.putExtra("sender", "xxxxxxxxxx"); startService(registrationIntent); [サーバー側] ・メッッセージの送信要求を https://android.googleapis.com/gcm/send へ変更 ・APIキーを置き換え、データは旧来の形式でもJSON形式でもOK Content-Type:application/json Authorization:key=AIzaSyB-1uEai2WiUapxCs2Q0GZYzPu7Udno5aA { "registration_id" : "APA91bHun4MxP5egoKMwt2KZFBaFUH-1RYqx...", "data" : { "Team" : "Portugal", "Score" : "3", "Player" : "Varela", }, }Copyright (C) 2012 Groove Systems Inc. All Rights Reserved. 5
  6. 6. 新規導入の手順を追記予定 (ちょっと待ってくださいorz)Copyright (C) 2012 Groove Systems Inc. All Rights Reserved. 6

×