iOS プッシュ通知の統合
この参考記事では、Unity プラットフォームの iOS プッシュ通知統合について説明します。
ステップ 1:自動または手動のプッシュ統合を選択
Braze は iOS プッシュ統合を自動化するためのネイティブ Unity ソリューションを提供しています。
- ビルドした Xcode プロジェクトを変更して手動で統合を完了したい場合は、ネイティブの iOS プッシュ手順に従ってください。
- 手動インテグレーションから自動インテグレーションに移行する場合は、「自動インテグレーションへの移行」の指示に従ってください。
- 当社の自動プッシュ通知ソリューションはiOS 12の仮承認機能を利用しているため、ネイティブのプッシュプロンプトポップアップでは使用できません。
ステップ 2: 自動プッシュ統合の実装
プッシュ通知を構成する
iOS プッシュ通知設定ドキュメントに従い、.p8
ファイルを使用して Braze を設定します。
自動プッシュ統合を有効にする
Unity エディターで Braze > Braze 設定に移動して Braze 設定を開きます。
「Integrate Push With Braze」をオンにすると、プッシュ通知へのユーザーの登録、Braze へのプッシュトークンの受け渡し、プッシュオープンの分析の追跡、およびデフォルトのプッシュ通知処理を利用することができます。
バックグラウンドプッシュを有効にする (オプション)
プッシュ通知を有効にする場合は、「バックグラウンドプッシュを有効にするbackground mode
」にチェックを入れます。これにより、suspended
システムはプッシュ通知が到着したときの状態からアプリケーションを復帰させ、アプリケーションがプッシュ通知に応答してコンテンツをダウンロードできるようになります。アンインストール追跡機能を使用するには、このオプションをチェックする必要があります。
自動登録を無効にする (オプション)
プッシュ通知をまだ選択していないユーザーは、アプリケーションを開くと自動的にプッシュが承認されます。この機能を無効にしてユーザーをプッシュ対象に手動で登録するには、「自動プッシュ登録を無効にする」にチェックを入れてください。
- iOS 12 以降で「仮認証を無効にする」にチェックが入っていない場合、ユーザーは暫定的に(サイレントに)クワイエットプッシュを受信する権限を与えられます。オンにすると、ユーザーにはネイティブプッシュプロンプトが表示されます。
- 実行時にプロンプトが表示されるタイミングを正確に設定する必要がある場合は、Braze
AppboyBinding.PromptUserForPushPermissions()
設定エディターからの自動登録を無効にして代わりに使用してください。
ステップ 3: プッシュリスナーを設定する
プッシュ通知ペイロードを Unity に渡したり、ユーザーがプッシュ通知を受け取ったときに追加の手順を実行したりする場合、Braze にはプッシュ通知リスナーを設定するオプションが用意されています。
プッシュ受信リスナー
プッシュ受信リスナーは、ユーザーがアプリケーションをアクティブに使用している間(アプリがフォアグラウンド状態になったときなど)にプッシュ通知を受け取ったときに起動されます。Braze 設定エディターでプッシュ受信リスナーを設定します。実行時にゲームオブジェクトリスナーを設定する必要がある場合はAppboyBinding.ConfigureListener()
、を使用して指定してくださいBrazeUnityMessageType.PUSH_RECEIVED
。
プッシュオープンリスナー
プッシュオープンリスナーは、ユーザーがプッシュ通知をクリックしてアプリを起動したときに起動されます。プッシュペイロードを Unity に送信するには、ゲームオブジェクトの名前を設定し、Set Push Opened Listener オプションでオープンされたリスナーのコールバックメソッドをプッシュします。
実行時にゲームオブジェクトリスナーを設定する必要がある場合はAppboyBinding.ConfigureListener()
、を使用して指定してくださいBrazeUnityMessageType.PUSH_OPENED
。
プッシュリスナーの実装例
次の例ではPushNotificationOpenedCallback
、AppboyCallback
PushNotificationReceivedCallback
それぞれとというコールバックメソッド名を使用してゲームオブジェクトを実装しています。
```csharp
パブリッククラスのメインメニュー:MonoBehaviour {
void PushNotificationReceivedCallback(string message) {
#if ユニティ_アンドロイド
Debug.Log(“PushNotificationReceivedCallback message: “ + message);
PushNotification pushNotification = new PushNotification(message);
Debug.Log(“Push Notification received: “ + pushNotification);
#elif UNITY_IOS
ApplePushNotification pushNotification = new ApplePushNotification(message);
Debug.Log(“Push received Notification event: “ + pushNotification);
`endif`
()
void PushNotificationOpenedCallback(string message) {
#if ユニティ_アンドロイド
Debug.Log(“PushNotificationOpenedCallback message: “ + message);
PushNotification pushNotification = new PushNotification(message);
Debug.Log(“Push Notification opened: “ + pushNotification);
#elif UNITY_IOS
ApplePushNotification pushNotification = new ApplePushNotification(message);
Debug.Log(“Push opened Notification event: “ + pushNotification);
`endif`
()
}
```
高度な機能
プッシュトークンのコールバック
OS から Braze デバイストークンのコピーを受け取るには、を使用してデリゲートを設定します。AppboyBinding.SetPushTokenReceivedFromSystemDelegate()
その他の機能
ディープリンク、バッジカウント、カスタムサウンドなどの高度な機能を実装するには、iOSのネイティブプッシュ手順をご覧ください。