Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

GCMでiOSとAndroidに通知を送る

1,180 views

Published on

Google I/O 2015で、GCMでiOSにも通知を送信できると発表されました。
実用できるのか、調査しました。

Published in: Technology
  • Be the first to comment

GCMでiOSとAndroidに通知を送る

  1. 1. KDDI Labo 第5期延長戦! エンジニア勉強会 GCMでiOSとAndroidに通知を送る Motoshi Nishihira(@snomof) BearTail CTO
  2. 2. GCMとは • Google Cloud Messaging • サーバーとクライアントの間に入り、
 通知・メッセージのやりとりを仲介する • Android / iOS / Chromeのメッセージが扱える • 複数デバイスにまとめてメッセージ送信できるtopic機能 • 無料
  3. 3. GCMとは • Google Cloud Messaging • サーバーとクライアントの間に入り、
 通知・メッセージのやりとりを仲介する • Android / iOS / Chromeのメッセージが扱える • 複数デバイスにまとめてメッセージ送信できるtopic機能 • 無料 new!! new!!
  4. 4. GCMのしくみ 1. GCMにアプリケーションのデバイス毎のIDを
 発行するようリクエスト 2. デバイスごとのID 3. サーバーアプリケーションにデバイスごとのIDを登録 4. 特定のデバイスへのメッセージをGCMにリクエスト 5. GCMからクライアントへメッセージを送信 1 2 3 4 5 赤: ID登録 緑: メッセージ送信
  5. 5. • APNs(Apple Push Notification Service) • GCMとほぼ同じ仕組み • iOSのみ • 配信先をコントロールするためのtopic機能は無い - topicは存在しているものの、現状ではアプリ全体で1つの
 topicしか使えない 今まで
  6. 6. • topic機能による送信先を指定した一括送信が可能 • デバイスごとのトークンはiOSとAndroidで共通の ものを使える - サーバーアプリケーションでiOSとAndroid専用のコードを
 実装する必要が無くなる • 無料 GCMを使う利点
  7. 7. トークン取得用iOSアプリと、メッセージ送信用Macアプリ サンプルコード
  8. 8. • Enable BitcodeをNoに • Swiftコードは変換と修正が必要 - 受信用iOSアプリはObjective-Cのコードが含まれているので、 そちらをビルドすれば問題無し - 送信用のMacアプリはSwiftのみ - 修正はXcodeに言われるがままでOK サンプルコードをXcode7で動かす
  9. 9. • アプリケーションあたり、topicに登録できるサブ スクリプションの上限が100万 - アプリケーションの全てのtopicのサブスクリプションの合計 - 例: 50万デバイスのtopic2つでも上限 GCMの欠点
  10. 10. • Amazon SNS • 制限 - AWSアカウントごとに3,000トピック - 1トピックあたり1,000万のサブスクリプション - ただし、お願いすれば上限は解除してくれる模様 • 有料 - 0.5USD /100 万件 - 最初の100万件は無料 代替物
  11. 11. • iOSとAndroidの両方で提供しているアプリでは、 サーバーアプリケーションの開発が楽になる • GCMのサブスクリプション数の制限がある限り、 Amazon SNSが実用的 - topicを使いたいならユーザー数が少ないアプリに限られる まとめ

×