ニフクラ mobile backend(mBaaS)お役立ちブログ

スマホアプリ開発にニフクラ mobile backend(mBaaS)。アプリ開発に役立つ情報をおとどけ!

Objective-Cアプリ開発!mBaaSでアプリにプッシュ通知を組み込もう!(後半)

こんにちは!新入社員の平出です!

前半戦いかがだったでしょうか?証明書の発行作業は少し複雑でしたね...。この前半戦は、プッシュ通知を実装するにあたってとても重要なステップだったので、ここを乗り越えることができたということは、もう怖いもの無しです!あとは実際にプッシュ通知の設定をしていくだけの簡単作業しか残っていません!あと少し、一緒に頑張りましょう!

今回の概要(おさらい)

overview

mBaaSのプッシュ通知は、iOSが提供している通知サービス(APNs)を利用しています。なので、仕組みとしては上図のようにアプリ(Xcode)・サーバー(mBaaS)・通知サービス(APNs)の間でやりとりを行います。また、このやりとりを行うには認証が必要になります。

以上のことを踏まえて、5つの手順で進めて行きたいと思います。

  1. 事前準備(認証のための証明書発行) ←前半戦
  2. mBaaSでAPIキー取得 ←今回はここから!(後半戦)
  3. サンプルプロジェクトにAPIキーを設定
  4. 実機ビルド
  5. 動作確認

再びですが、下記内容にて動作確認をしています。

  • Mac OS X 10.10(Yosemite)
  • Xcode ver. 7.2.1
  • iPhone6 ver. 8.2(実機ビルド時に使用します)
  • Lightningケーブル

それでは、早速後半戦を始めましょう!

2.mBaaSでAPIキー取得

まずはmBaaSの会員登録(無料)します。登録が完了してログインをすると、下図のように「アプリの新規作成」画面が出るのでアプリを作成します。

objt-c_push_api

アプリを作成すると下図のような画面になります。この2種類のAPIキー(アプリケーションキーとクライアントキー)はXcodeで作成するiOSアプリにmBaaSを紐付けるために使用します。

objt-c_push_api

ついでに、プッシュ通知の設定も行いましょう!ここでは前半戦で用意した⑦APNs用証明書(.p12)の設定も使用します。

objt-c_push_api

3.サンプルプロジェクトにAPIキーを設定

まずはGitHubにアクセスしてサンプルプロジェクトをダウンロードしましょう。010ボタンをクリックして、さらに011ボタンをクリックしてダウンロードします。

ダウンロードしたフォルダを開き、xcode_buttonをダブルクリクしてXcodeを開きます。xcode_button objt-c_push_xcode

上図のような画面が出てくると思います。そうしたら、左のファイルから「AppDelegate.swift」を開いて、先程mBaaSのダッシュボード上で確認したAPIキーを貼り付けます。

objt-c_push_api

それぞれ「YOUR_NCMB_APPLICATION_KEY」と「YOUR_NCMB_CLIENT_KEY」の部分を書き換えます。この時、ダブルクォーテーション(")を消さないように注意してください!書き換えたらファイルを保存しておきましょう。

4.実機ビルド

初めて実機ビルドをする場合は、Xcodeにアカウント(AppleID)の登録をしておきましょう。メニューバーの「Xcode」>「Preference...」を選択してAccounts画面が開いたら、左下の「+」をクリックします。下図のように入力画面が表示されたら、Apple IDとPasswordを入力して、「Add」をクリックします。

objt-c_push_build

追加されると、下図のようになります。追加した情報があっていればOKです。

objt-c_push_build

確認できたら閉じましょう。

それでは実機ビルドに移行します。前半戦で準備した以下3つを使用します。

  • ②開発用証明書(.cer)
  • ⑤プロビジョニングプロファイル
  • APNs用証明書(.p12)

まずは、プロジェクトをクリックして、「Build Settings」>「Code Signing」に②開発証明書(.cer)と⑤プロビジョニングプロファイルを設定します。

objt-c_push_build

「Code Signing Identity」に②開発用証明書(.cer)を設定しますが、「Provisioning Profile」に作成した⑤プロビジョニングプロファイルを設定すれば、「Code Signing Identity」の部分は「Automatic」で構いません。

注意:作成した⑤プロビジョニングプロファイルは一度ダブルクリックをしておかないと、「Provisioning Profile」に設定できません。

そうしたら、Bundle IDを設定します。「General」>「Identity」の「Bundle Identifier」に③AppID を作成したときに入力したBundle IDに書き換えてください。

objt-c_push_build

これで設定は完了です。lightningケーブルで④端末の登録で登録した、動作確認用iPhoneをMacにつなぎます(実機ビルドが初めての場合はこちらをご覧いただき、実機ビルドの準備をお願いします)。Xcode画面の左上で、接続したiPhoneを選び実行ボタンをクリックします。

objt-c_push_build

※Xcodeのバージョンが古い場合「import NCMB」にエラーが発生し、上手くSDKが読み込めないことがあります。その場合は【Swift】SDKの読み込みにuse framework!が使えない場合の対処方法をご覧いただき、別の読み込み方法をお試しください。

5.動作確認

まずはインストールしたアプリを起動しましょう(プッシュ通知の許可を求めるアラートが出たら、必ず許可してください!)。起動したらこの時点でデバイストークンが取得されます。mBaasのダッシュボードで「データストア」>「installation」クラスを確認してみましょう!確認が終わったら、端末側で起動したアプリは一度閉じておきます。

objt-c_push_check

そして、いよいよですね!実際にプッシュ通知を送ってみましょう!まずはmBaaSのダッシュボードで「プッシュ通知」>「+新しいプッシュ通知」をクリックします。そうしたらプッシュ通知のフォームが開かれるので、必要な項目を入力してプッシュ通知を作成します。

objt-c_push_check

端末を確認しましょう!少し待つとプッシュ通知が届きます!!

Swiftでのクーポン配信もお手の物

プッシュ通知の設定いかがだったでしょうか?今回前半と後半の2回に分けて紹介しましたが、プッシュ通知はまだまだ奥が深いです!mBaaSではObjective-CだけでなくSwiftでの利用も可能です!Swiftでのクーポン配信も用意しておりますので、ぜひそちらもお試しください!最後までお読みいただきありがとうございました。

sample&tutrial