hypermkt blog

Google Cloud Messaging for iOSのサンプルを試してみた

July 19, 2015

環境

  • MacOS X Yosemite 10.10.4
  • Xcode 6.4
  • iPhone5(実機。シュミレーターでは出来ません。)

Google Cloud Messaging for iOSとは?

  • 無料 で利用できるプッシュ通知サービスです。
  • 元々はAndroidのみの対応でしたが、2015年5月に行われたGoogle I/O 2015にてiOSの対応も発表されました。

サンプルを試してみた

公式サイトによると下記の手順となっています。

  • プロジェクトの用意
  • 設定ファイルの用意
  • プロジェクトに設定ファイルを追加
  • サンプルを実行

では始めます。

プロジェクトの用意

上記の通り、実行すると下記となり。Xcodeが自動的に起動します。

$ bundle exec pod try Google Updating spec repositories

CocoaPods 0.38.0 is available. To update use: sudo gem install cocoapods

For more information see http://blog.cocoapods.org and the CHANGELOG for this version http://git.io/BaH8pQ.

Trying Google 1: Samples/admob/AdMobExample.xcodeproj 2: Samples/analytics/AnalyticsExample.xcodeproj 3: Samples/appinvites/AppInvitesExample.xcodeproj 4: Samples/gcm/GcmExample.xcodeproj 5: Samples/signin/SignInExample.xcodeproj Which project would you like to open [1-5]? 4 Performing CocoaPods Installation

CocoaPods 0.38.0 is available. To update use: sudo gem install cocoapods

For more information see http://blog.cocoapods.org and the CHANGELOG for this version http://git.io/BaH8pQ.

Installing GGLInstanceID (1.0.0) Installing Google (1.0.7) Installing GoogleCloudMessaging (1.0.3) Installing GoogleInterchangeUtilities (1.0.0) Installing GoogleNetworkingUtilities (1.0.0) Installing GoogleSymbolUtilities (1.0.0) Installing GoogleUtilities (1.0.1)

[!] Please close any current Xcode sessions and use GcmExample.xcworkspace for this project from now on. Opening ‘/private/var/folders/p/wq04phmd1x7g4clvhlxx8zw0000gn/T/CocoaPods/Try/Google/Samples/gcm/GcmExample.xcworkspace’

設定ファイルの用意

Enable Google Services for your appページから取得できます。

Pick a platformボタンを押します。

gcm-01

Cloud Messagingを選択して、 Generate configuration filesボタンを押します。

gcm-02

開発用、本番用APNs証明書をアップロードする箇所が2箇所ありますが、サンプルを試すだけなので開発側だけでアップロードします。

gcm-03

plistファイルができたらダウンロードして下さい。

gcm-04

プロジェクトに設定ファイルを追加

ダウンロードした GoogleService-Info.plistファイルをドラッグアンドドロップでプロジェクトのルート直下に置きます。

choose_options_for_adding_files

google-service.plist

実行前に調整

このまま実行すると下記エラーが発生してしまいます。

IMG_4261

これを回避するためにBundle IdentiferをAPNs証明書を発行したBundle Identifierに修正し、またteamも正しいものに設定してください。

bundle_id

サンプルを実行

再度サンプルを実行し直すと下記のようにGCMへの登録成功のメッセージが表示されます。Xcodeのログにトークンが記載されているのでメモしてください。

IMG_4262

では次にプッシュ通知を送信する準備をします。TargetよりGcmServerDemoを選択し実行してください。

gcm_server_demo

実行したらapiKeyと先ほどログから取得したRegistrationKeyを入力し、Send Notificationボタンを押してください。

demo

しばらくすると実機に下記メッセージが送信されれば成功です。

IMG_4263

自分用のまとめ記事につき、APNsの証明書の取得など省いてしまいわかりづらいところもあるかもしれませんが、Google Cloud Message for iOSを試される際はご参考にしてください。


都内で働くWebアプリケーションエンジニア。主にサーバーサイド。最近はRuby/Railsでコードを書くのが楽しい。