iOS 用プッシュ通知
前提条件
このチュートリアルでは、プッシュ通知クイックスタート で扱われる概念に慣れていることを前提としています。Apple 通知チャネルの構成
- アクティブな iOS 開発 (APNS_SANDBOX) または本番 (APNS) 証明書があることを確認します。ない場合は、Apple Developer Portal の Certificates, Identities and Profiles で作成します。
- 選択した証明書 (開発または本番) をエクスポートします:
- まず、Apple Developer Portal の Certificates, Identities and Profiles から証明書のコピーをダウンロードします。これにより .cer ファイルが作成されます。
- 証明書を開いて Keychain Access にインストールします。
- Certificates サブカテゴリの下にインストールされた証明書を表示します。
- Keychain Access Certificate を .p12 形式にエクスポートします。
-
次のコンソール コマンドを使用して .p12 ファイル を .pem ファイル に変換します:
openssl pkcs12 -in apns-dev-cert.p12 -out apns-dev-cert.pem -nodes -clcerts
- .pem ファイル ができたら、PlayFab の Game Manager の Title’s settings > Push Notifications の下に直接アップロードできます。
-
あるいは、以下のジェネレーターを使用して
SetupPushNotificationの JSON リクエストを作成します。
SetupPushNotification 用の JSON リクエスト ジェネレーター
リクエスト ジェネレーターは、JSON リクエストを作成するために次の情報を使用します:- Platform - 次のいずれかの値を使用: APNS (iOS)、APNS_SANDBOX (iOS)、GCM (Android)
- Application Name - メッセージを送信するアプリケーションの名前を入力します。
アプリケーション名は、大文字と小文字の ASCII 文字、数字、アンダースコア、ハイフン、ピリオドのみで構成される必要があり、1〜256 文字の長さでなければなりません。また 一意 でなければなりません。
- PEM Certificate / API Key - iOS (APNS または APNS_SANDBOX) の場合、PEM ファイルの完全な内容を使用します。
SetupPushNotification の呼び出しを実行します。応答は次の例のようになるはずです。
iOS クライアントをプッシュに登録する
iOS では、現時点で PlayFab は Unity 上のネイティブ実装を提供していないため、iOS がプッシュ通知を処理する既定の動作に依存する必要があります。 既定では、ゲームがバックグラウンドにある間に受信した通知は Notification エリアにルーティングされます。 一方、ゲームがアクティブなアプリの間に受信した通知はサイレントで受信され、Notification エリアに表示されません。- サンプルの次のコードは
client Start()で実行されます。
- この時点で、ユーザーが通知にオプトインしていれば、PlayFab API RegisterForIOSPushNotification を呼び出すことができます。
- エラーが発生しなかった場合、おめでとうございます! iOS クライアントはタイトルの Apple 通知チャネルに正常にリンクされました。
iOS のトラブルシューティング
- 有効な .pem ファイルを持っていることを確認します。
SetupPushNotificationで使用したのと同じ証明書が、XCode でアプリの署名に使用されていることを確認します。- XCode でビルドに対して Push Notification API が有効になっていることを確認します。
- 署名証明書が PlayFab プラットフォームと一致することを確認します。SetupPushNotification を実行するときは、
OverwriteOldARN = trueを使用して、チャネルを新しいプラットフォームに再バインドします。特定の時点で、1 つのタイトルにアクティブになれる iOS 環境 (APNS または APNS_SANDBOX) は 1 つだけ です。
追加のサポート
ヘルプ、バグの例、および関連する質問については、フォーラム までご連絡ください。現在、当社はこのドキュメントで説明されている標準フローに対してのみサポートしています。他の一般的なプッシュ サービスやプラグインでさらなる機能が必要な場合はお知らせください! 開発者コミュニティからのフィードバックをいただくのが大好きです。
