チュートリアル(iOS)
MobileSUITE mBaaSとAPNsの連携に必要な設定
Contents |
概要
iOS端末へのプッシュ通知は、APNs(Apple Push Notification service)と連携しています。
MobileSUITE mBaaS管理画面に登録されたプッシュ通知を、APNsに送信することで、
各端末がプッシュ通知を受信できます。
MobileSUITE mBaaSとAPNsを連携させるには、mBaaS管理画面から証明書の設定が必要です。
このチュートリアルでは、APNsと連携するための証明書を取得する流れについて
説明していきます。
APIキーを取得するのに必要なこと
- iOS Developer Programへの登録
iOS Developer Programの登録は有料であり、Appleへの料金が発生します。
詳細はAppleのページをご覧ください。
以下では、iOS Developer Program登録後の手順について説明しています。
証明書を取得するまでの流れ
証明書の管理画面を開く
Appleの開発者サイトから、Accountを開き、
Appleのアカウントでログインします。
ログイン後の画面が以下のようになり、その中の
Certificates, Identifiers & Profilesの項目にあるリンクをクリックします。
アプリを登録する
Appleにアプリを登録することで、証明書作成ができます。
左メニューのIdentifiersを開き、Identifiersの隣にある+ボタンをクリックすると、
Register a New Identifierの画面が開きます。
こちらの画面で、App IDsにチェックを入れ、Continueをクリックすると、アプリの登録画面が開きます。
アプリの登録画面では以下の3点を設定し、登録を行ってください。
- App ID Description(アプリ名)
- Bundle ID(Xcodeで表示されるBundle Identifier)
- 確認方法
- Xcodeを開く
- 左側のファイル一覧から、プロジェクトをクリックし設定画面を開く
- 作成されているTARGETを選択し、Generalの項目を開く
- 確認方法
- Push Notificationを有効にする
登録時の画面サンプルは以下のようになります。
証明書を作成する
左メニューのCertificatesを開き、Certificatesの隣にある+ボタンをクリックすると、
Create a New Certificateの画面が開きます。
証明書の作成画面が表示されるので、下の方にあるServicesの項目にある必要なAPNs証明書を選択してください。
- iOS Apple Push Notification service SSL (Sandbox):開発用のプッシュ通知証明書
- Apple Push Notification service SSL (Sandbox & Production):本番用のプッシュ通知証明書
なお、リリースされるアプリ(本番用アプリ)に対して開発用証明書を設定した場合、invalidTokenが発生してしまいますのでご注意ください。
- 開発用:Apple Push Notification service SSL (Sandbox) を選択
- 本番用:Apple Push Notification service SSL (Sandbox & Production) を選択
- 本来は開発用と本番用を兼ねた証明書ですが、mBaaS管理画面に設定する場合は本番用として設定してください。
どのアプリに紐づいた証明書を作成するのか選択する必要があります。
下のプルダウンメニューにAppleに登録されたアプリの一覧が表示されるので、
証明書を作成するアプリを選択してください。
次の画面では、CSRファイルを選択する必要がありますので、CSRファイルについて説明して行きます。
CSRファイルは、開発者証明書を登録する際に既に作成済みの場合、再度作成する必要がありません。
まだ作成されていない場合、以下の手順でキーチェーンアクセスから作成します。
キーチェーンアクセスのメニューから証明書アシスタント>認証局に証明書を要求...を選択します。
メールアドレスと通称を設定し、ディスクに保存を選択して、続けるボタンをクリックします。
CSRファイルの保存場所を決めて、保存してください。
証明書作成画面に戻り、CSRファイルをアップロードしてください。
証明書を.p12形式に変換する
証明書の作成が完了すると、証明書をダウンロードすることができます。
ダウンロードした証明書をダブルクリックすると、キーチェーンアクセスが開きます。
証明書を選択し、メニューを表示して書き出しを選択してください。
このとき下の図のように、証明書と秘密鍵を両方表示して証明書のみ書き出してください。
秘密鍵をセットにして証明書を書き出すと、プッシュ通知を配信するときにエラーとなります。
保存名と場所を指定し、保存ボタンをクリックしてください。
書き出す証明書に対してパスワードを設定する画面が開きますが、設定せずにOKボタンをクリックしてください。
パスワードを設定すると、mBaaS管理画面にアップロードしても利用できなくなります。
書き出された.p12形式のファイルを、mBaaS管理画面に設定することでプッシュ通知を行うことができます。
mBaaS管理画面での設定については、こちらをご覧ください。
証明書の有効期限について
証明書の有効期限が切れてしまった場合は、プッシュ通知配信が出来なくなります。証明書の更新を行ってください。
※なお、iOS/Android両端末にプッシュ通知配信する設定をしている場合は、実際にはAndroid端末のみへの配信であっても、証明書の確認でエラーとなり、プッシュ通知が配信されませんので、ご注意ください。
- 管理画面操作での注意点
証明書の有効期限が切れている間にAndroid端末にのみプッシュ通知を配信する場合は、「Android端末に配信する」にのみチェックを入れてください。
- REST APIでの注意点
- 証明書の有効期限が切れている間にAndroid端末にのみプッシュ通知を配信する場合は、ターゲットにてandroidのみを設定してください。
"target":["android"]
不正な証明書
証明書が不正である場合、プッシュ通知が配信できません。
不正な証明書となる原因として、下記事項が考えられます。ご確認ください。
- 証明書がp12形式ファイルでない
- 証明書をp12ファイルに書き出す際に、パスワードを設定している
- 証明書の有効期限が切れている
- プッシュ通知証明書ではない、別の証明書を誤って設定している
- MonacaでiOS端末にプッシュ通知を送信する際は、 開発・本番用証明書(.p12)を設定することがあります。こちらの証明書を誤ってアップロードしている場合、プッシュ通知は配信できません。
- 上記以外に、ドキュメントと異なる手順を実施している箇所がある