チュートリアル(Obj-C)
mBaaSとAPNsの連携に必要な設定(p8認証キー方式)
Contents |
概要
iOS端末へのプッシュ通知は、APNs(Apple Push Notification service)と連携しています。
mobile backendに登録されたプッシュ通知を、APNsに送信することで、
各端末にプッシュ通知が受信される仕組みです。
mobile backendとAPNsを連携させるには、管理画面からp12証明書ファイル、またはp8認証キーファイルを含む認証情報の設定が必要です。
このチュートリアルでは、APNsと連携するためのp8認証キーファイルを含む認証情報を取得し、ニフクラmobile backendに設定する流れについて説明していきます。
認証情報を取得するのに必要なこと
- 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, Identifiers & Profiles」画面で、左メニューの「Keys」を選択し、Keys管理画面を開きます。「Keys画面」では「Keys」の右にある「+」をクリックしてください。
Keyを作成する「Register a New Key」画面が表示されます。こちらの画面では、以下の画像の「Key Name」に認証情報を識別するための名称を入力してください。
「ENABLE」では「Apple Push Notifications service(APNs)」にチェックを入れ、右上 「Continue」をクリックしてください。
確認画面が表示されますので、入力内容を確認し、「Register」をクリックしてください。
「Download Your Key」画面が表示されます。
こちらの画面で表示される「Key ID(AppleキーID)」は後ほど mobile backend 管理画面に入力する必要がありますので、メモなどしておいてください。
またmobile backendに登録する情報として「AppleチームID」がありますが、これはログイン後の画面左側「Membership」より確認できます。
ニフクラ mobile backendでの設定
次に、認証情報をニフクラ mobile backendに設定します。
プッシュ通知の有効化
アプリ設定から、左メニューのプッシュ通知の項目を選択してください。
プッシュ通知の許可設定を行う部分があるので「許可する」に変更し、変更を保存してください。
認証情報のアップロードと項目設定
Appleの開発者サイトで取得した認証情報を設定することで、APNsとニフクラ mobile backendが連携できるようになります。
各項目については以下の設定をします。
- APNs送信先: 配信端末アプリのビルド環境。debugビルドのアプリであれば「Sandbox」、AdHocビルドおよびAppStoreビルドのアプリであれは「Production」を選択
- AppleトピックID: 配信端末アプリのBundleID
- AppleチームID: Appleの開発者サイトにログインしたアカウントのチームID
- AppleキーID: Apple開発者サイトからプッシュ通知用認証キーファイルをダウンロードする際に表示されるID
- 認証キーファイル(p8): Apple開発者サイトからダウンロードしたプッシュ通知用認証キーファイル(拡張子が .p8 のもの)
※注意
- 認証情報はすべての項目が登録されていない場合、プッシュ通知機能に利用されません。
- p12証明書とp8認証キーファイルを含む認証情報が設定されている場合につきましては、p8認証キー情報を優先し証明書はプッシュ通知の送信に利用いたしません。
- アップロードするファイルの名前にはルールがありますので、ご注意ください。 詳細は、開発ガイドライン:ファイルストアについてをご参照ください。
以上の設定で、ニフクラ mobile backendとAPNsを連携することができました。
認証情報の有効期限について
認証キーには有効期限はありません。
外部に漏洩した場合など不正利用の懸念がある際には
Appleの開発者サイトにアクセスし現在の認証キーを取り消し、
新たな認証キーを取得しmobile backendへ登録してください。
※なお、iOS/Android両端末にプッシュ通知配信する設定をしている場合は、実際にはAndroid端末のみへの配信であっても、証明書の確認でエラーとなり、プッシュ通知が配信されませんので、ご注意ください。
管理画面操作での注意点
iOS向けの証明書、認証情報が有効でない場合にAndroid端末にのみプッシュ通知を配信する場合は、「Android端末に配信する」にのみチェックを入れてください。REST APIでの注意点
- 証明書の有効期限が切れている間にAndroid端末にのみプッシュ通知を配信する場合は、ターゲットにてandroidのみを設定してください。
"target":["android"]
配信できない認証情報
mobile backend に設定された認証情報が配信端末と整合性が取れていない場合、プッシュ通知が配信できません。
原因として、下記事項が考えられます。ご確認ください。
- Appleの開発者サイトにて認証キーを取得する際にAPNsの許可がされていない。
- AppleチームID、AppleキーIDがAppleの開発者サイトでの内容と一致しない。
- 配信端末アプリのBundleIDとAppleトピックIDが一致しない。
- 配信端末アプリのビルド環境がdebugビルドにも関わらずAPNs送信先に「Production」を選択しているなど送信先とビルド設定が一致しない。
- 上記以外に、ドキュメントと異なる手順を実施している箇所がある。
お探しの内容が見つからなかった場合はユーザーコミュニティ
もご活用ください。(回答保証はいたしかねます)
なお、 Expertプラン以上のお客様はテクニカルサポートにてご質問を承らせて頂きます。
推奨画面サイズ1024×768px以上