Skip to content

カスタムトリガー

デフォルトでは、アプリ内メッセージは SDK によって記録されるイベントによってトリガーされます。また、サーバー送信イベントによってアプリ内メッセージをトリガーすることもできます。

サーバーサイドイベントを使用してアプリ内メッセージをトリガーするには、デバイスにサイレントプッシュを送信して、デバイスで SDK ベースのイベントを記録できるようにします。この SDK イベントは、その後、ユーザー向けのアプリ内メッセージをトリガーできます。

ステップ1: サイレントプッシュとキーと値のペアを扱う

次の関数を実装し、application(_:didReceiveRemoteNotification:fetchCompletionHandler:): メソッド内で呼び出します。

1
2
3
4
5
6
func handleExtras(userInfo: [AnyHashable : Any]) {
  print("A push was received")
  if userInfo != nil && (userInfo["IS_SERVER_EVENT"] as? String) != nil && (userInfo["CAMPAIGN_NAME"] as? String) != nil {
    AppDelegate.braze?.logCustomEvent("IAM Trigger", properties: ["campaign_name": userInfo["CAMPAIGN_NAME"]])
  }
}
1
2
3
4
5
6
- (void)handleExtrasFromPush:(NSDictionary *)userInfo {
  NSLog(@"A push was received.");
  if (userInfo !=nil && userInfo[@"IS_SERVER_EVENT"] !=nil && userInfo[@"CAMPAIGN_NAME"]!=nil) {
    [AppDelegate.braze logCustomEvent:@"IAM Trigger" properties:@{@"campaign_name": userInfo[@"CAMPAIGN_NAME"]}];
  }
};

サイレントプッシュを受信すると、ユーザープロファイルに対して SDK が記録したイベント「アプリ内メッセージトリガー」がログに記録されます。

ステップ2: サイレントプッシュキャンペーンの作成

サーバー送信イベントを介してトリガーされるサイレントプッシュキャンペーンを作成します。

ユーザープロファイルにカスタムイベント「server_event」があるユーザーに配信されるアクションベースの配信アプリ内メッセージキャンペーン。

プッシュキャンペーンにはキーと値のペアエクストラを含める必要があります。これは、このプッシュキャンペーンが SDK カスタムイベントを記録するために送信されることを示します。このイベントは次のアプリ内メッセージをトリガーするために使用されます。

キーと値のペアが2つあるアクションベースの配信アプリ内メッセージキャンペーン。「CAMPAIGN_NAME」を「アプリ内メッセージ名の例」に設定し、「IS_SERVER_EVENT」を「true」に設定します。

application(_:didReceiveRemoteNotification:fetchCompletionHandler:) メソッド内のコードはキー IS_SERVER_EVENT をチェックし、SDK カスタムイベントがあればログに記録します。

プッシュペイロードのキーと値のペアエクストラ内で目的の値を送信することで、イベント名またはイベントプロパティのいずれかを変更できます。カスタムイベントを記録する場合、これらのエクストラはイベント名のパラメータまたはイベントプロパティとして使用できます。

ステップ3: アプリ内メッセージキャンペーンの作成

Braze ダッシュボードで、ユーザーに表示されるアプリ内メッセージキャンペーンを作成します。このキャンペーンにはアクションベースの配信があり、application(_:didReceiveRemoteNotification:fetchCompletionHandler:) メソッド内から記録されたカスタムイベントからトリガーされる必要があります。

以下の例では、イベントプロパティを最初のサイレントプッシュの一部として送信することで、トリガーされる特定のアプリ内メッセージが設定されています。

カスタムイベント「アプリ内メッセージトリガー」を実行したユーザーに配信されるアクションベースの配信アプリ内メッセージキャンペーン。「campaign_name」は「IAM キャンペーン名の例」です。

「このページはどの程度役に立ちましたか?」
New Stuff!