サーバー構築不要!スマートフォンアプリ向けの新クラウド

トップ >ドキュメント >チュートリアル(Obj-C):mBaaSとAPNsの連携に必要な設定(p8認証キー方式)

チュートリアル(Obj-C)

mBaaSとAPNsの連携に必要な設定(p8認証キー方式)

概要

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 Developer

Appleの開発者サイトから、Accountを開き、
Appleのアカウントでログインします。

ログイン後の画面が以下のようになり、その中の
Certificates, Identifiers & Profilesの項目にあるリンクをクリックします。

Accountを開く

アプリを登録する

Apple Developer

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」の右にある「+」をクリックしてください。

Apple Developer Program Keys

Keyを作成する「Register a New Key」画面が表示されます。こちらの画面では、以下の画像の「Key Name」に認証情報を識別するための名称を入力してください。
「ENABLE」では「Apple Push Notifications service(APNs)」にチェックを入れ、右上 「Continue」をクリックしてください。

Apple Developer Program Setting a New Key

確認画面が表示されますので、入力内容を確認し、「Register」をクリックしてください。

Apple Developer Program Register New Key

「Download Your Key」画面が表示されます。
こちらの画面で表示される「Key ID(AppleキーID)」は後ほど mobile backend 管理画面に入力する必要がありますので、メモなどしておいてください。

Apple Developer Program Download Your Key

またmobile backendに登録する情報として「AppleチームID」がありますが、これはログイン後の画面左側「Membership」より確認できます。

Apple Developer Program Membership Details

ニフクラ 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端末のみへの配信であっても、証明書の確認でエラーとなり、プッシュ通知が配信されませんので、ご注意ください。

  • 管理画面操作での注意点
    mbaas管理画面
    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以上

ページの先頭へ