ニフクラmBaaSお役立ちブログ

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

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

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

皆さん、Object-Cでアプリ開発してますか!?せっかく開発したアプリ、もっと多く使ってもらいたいですよね。その手段の一つとしてプッシュ通知があるのはご存知でしょうか?また、プッシュ通知は組み込んでみたいけど、実装が大変そうだなと思っていないでしょうか?そうした、メンドクサさを省いてくれるサービスがあるんです!それがニフティクラウドmobile backendというクラウドサービスです。今回はニフティクラウドmobile backendを使ってObject-Cアプリへプッシュ通知を組み込むサンプルアプリを作りました。こちらを用いて、チュートリアル形式でプッュ通知の組み込みが体験できます!ぜひ、試してみてください!

ニフティクラウドmobile backendとは?

about_mBaaS ニフティクラウドmobile backendとは、mBaaS(mobile backend as a Service)と呼ばれるクラウドサービスで、スマートフォンアプリでよく利用される汎用的な機能をクラウドから提供するサービスです。

クラウド上に用意された機能をAPIで呼び出すだけで利用できるので、サーバー開発・運用不要でよりリッチなバックエンド機能をアプリに実装することができます。 ここからはニフティクラウドmobile backendではなくmBaaSと呼ばせていただきます。iOS SDKも用意しており、Swfitからも簡単に利用できます。

今回の概要

overview

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

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

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

しかし!1.事前準備が少し複雑なので、今回は前半戦としてこの部分の説明に注力したいと思います!後半戦で、それ以降の説明をしていきます。

尚、今回は下記内容にて動作確認をしています。

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

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

1.事前準備

認証のための証明書発行作業を行います。作り方を誤ると動作しない可能性があるので、作業は少し複雑ですが丁寧に作業していきましょう!また、作成したファイルはダウンロードし、同じフォルダにまとめておきましょう。

注意:①CSRファイルと②開発証明書(.cer)の2つは既に作成したものがあれば、新しく作成しないでください!必ず既存のものを使用します。複数作成してしまうとファイル名が同じであるため区別できなくなり失敗につながる恐れがあります。

objt-c_push_certification

①CSRファイルの作成 ※初回利用時のみ

「キーチェンアクセス」を開いて、メニューバーの「キーチェンアクセス」>「証明書アシスタント」をクリックします。

objt-c_push_certification

「鍵ペア情報」を確認して「続ける」をクリックし、「設定結果」が出るので「完了」をクリックします。終わったら保存場所を選択して「保存」をクリックします。

②開発用証明書(.cer)の作成 ※初回利用時のみ

ここからApple Developer Programのメンバーセンターにログインして作業を行います。

objt-c_push_certification

【Certificates」>「All」>右上の「+」をクリックして、「iOS App Development」にチェックをいれます。

objt-c_push_certification

objt-c_push_certification

objt-c_push_certification

③AppIDの作成

「Identifiers」>「App IDs」>右上の「+」をクリックします。

objt-c_push_certification

objt-c_push_certification

objt-c_push_certification

objt-c_push_certification

④動作確認で使用する端末の登録 ※既に登録済みの場合、この作業は不要です。

「Devices」>「All」>右上の「+」をクリックします。

objt-c_push_certification

UDIDは下記のいずれかの方法で調べることができます。

objt-c_push_certification

objt-c_push_certification

先程の入力欄に調べたUDIDをコピーして貼り付け、「Continue」をクリックします。

objt-c_push_certification

⑤プロビジョニングプロファイルの作成

「Provisioning Profiles」>「All」>右上の「+」をクリックします。

objt-c_push_certification objt-c_push_certification objt-c_push_certification objt-c_push_certification

⑥APNs用証明書(.cer)の作成

「Certificates」>「All」>右上の「+」をクリックします。

objt-c_push_certificationobjt-c_push_certification

CSRファイルは②開発用証明書(.cer)作成時と同じものを使用します。

objt-c_push_certification objt-c_push_certification

⑦APNs用証明書(.p12)の書き出し

⑥で作成した「APNs用証明書(.cer)」をダブルクリックしてキーチェーンアクセスを開きます。三角のアイコンをクリックして開きます。証明書と秘密鍵は別々にしておいてください!

objt-c_push_certification objt-c_push_certification

後半戦で使用する証明書やファイルを以下の通りです。確認しておきましょう。

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

 

前半戦が終了しました!

事前準備長かったですね...。でも、もう大丈夫です!ここまでくれば、後はAPIを設定して実機での確認作業を残すのみです。休憩を挟んだら後半戦に進んで、プッシュ通知を完成させましょう!