Skip to content

ライブアクティビティを開始

post

/messages/live_activity/start

このエンドポイントを使用して、iOSアプリに表示されるLive Activitiesをリモートで開始します。このエンドポイントは追加のセットアップが必要です。

ライブアクティビティを作成した後、任意のセグメントのアクティビティをリモートで開始するためにPOSTリクエストを送信できます。詳細については、Appleのライブアクティビティについては、ActivityKitプッシュ通知でライブアクティビティを開始および更新するを参照してください。

前提条件

このエンドポイントを使用するには、次の手順を完了する必要があります:

レート制限

API レート制限で説明されているように、このエンドポイントにはデフォルトの1時間あたり25万リクエストのBraze レート 制限が適用されます。

要求本文:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
{
  "app_id": "(required, string) App API identifier retrieved from the Developer Console.",
  "activity_id": "(required, string) Define a custom string as your `activity_id`. You will use this ID when you wish to send update or end events to your Live Activity.",
  "activity_attributes_type": "(required, string) The activity attributes type you define within `liveActivities.registerPushToStart` in your app",
  "activity_attributes": "(required, object) The static attribute values for the activity type (such as the sports team names, which don't change)",
  "content_state": "(required, object) You define the ContentState parameters when you create your Live Activity. Pass the updated values for your ContentState using this object. The format of this request must match the shape you initially defined.",
  "dismissal_date": "(optional, datetime in ISO-8601 format) The time to remove the Live Activity from the user’s UI. If this time is in the past, the Live Activity will be removed immediately.",
  "stale_date": "(optional, datetime in ISO-8601 format) The time the Live Activity content is marked as outdated in the user’s UI.",
  "notification": "(required, object) Include an `apple_push` object to define a push notification that creates an alert for the user, displayed on paired watchOS devices. Should include `notification.alert.title` and `notification.alert.body`",
  // One of the following:
  "external_user_ids": "(optional, array of strings) see external user identifier",
  "custom_audience": "(optional, connected audience object) see connected audience",
  "segment_id": "(optional, string) see segment identifier"
}

リクエストパラメーター

パラメータ 必須 データ型 説明
app_id 必須 文字列 アプリAPI 識別子API キーページから取得されました。
activity_id 必須 文字列 カスタム文字列をactivity_idとして定義します。この ID を使用して、ライブアクティビティに更新または終了イベントを送信します。
activity_attributes_type 必須 文字列 アプリ内のliveActivities.registerPushToStartで定義するアクティビティ属性タイプ。
activity_attributes 必須 オブジェクト アクティビティタイプの静的属性値(スポーツチームの名前など、変更されないもの)。
content_state 必須 オブジェクト ライブアクティビティを作成する際にContentStateパラメータを定義します。このオブジェクトを使用して、ContentStateの更新された値を渡します。

このリクエストの形式は、最初に定義した形状に一致している必要があります。
dismissal_date オプション 日時
ISO-8601 文字列)
このパラメーターは、ユーザーのUIからライブアクティビティを削除する時間を定義します。
stale_date オプション 日時
ISO-8601 文字列)
このパラメーターは、ライブアクティビティのコンテンツがユーザーの UI で古いものとしてマークされたときに、システムに通知します。
notification 必須 オブジェクト プッシュ通知を定義するapple_pushオブジェクトを含めます。このプッシュ通知の動作は、ユーザーがアクティブであるか、ユーザーがプロキシデバイスを使用しているかによって異なります。
  • もし notification 含まれており、更新が配信されたときにユーザーがiPhoneでアクティブである場合、更新されたライブアクティビティUIがスライドダウンしてプッシュ通知のように表示されます。
  • もし notification が含まれており、ユーザーがiPhoneでアクティブでない場合、ロック画面に更新されたライブアクティビティUIを表示するために画面が点灯します。
  • この notification alert は、標準のプッシュ通知として表示されません。さらに、ユーザーがApple Watchのようなプロキシデバイスを持っている場合、 alert そこに表示されます。
external_user_ids segment_idまたはaudienceが提供されている場合は任意 文字列の配列 外部ユーザーIDを参照してください。
segment_id external_user_idsまたはaudienceが提供されている場合は任意 文字列 セグメント識別子を参照してください。
custom_audience external_user_idsまたはsegment_idが提供されている場合は任意 接続されたオーディエンスオブジェクト 接続オーディエンスを参照してください。

例のリクエスト

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
curl --location --request POST 'https://rest.iad-01.braze.com/messages/live_activity/start' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {YOUR-REST-API-KEY}' \
--data-raw '{
    "app_id": "{YOUR-APP-API-IDENTIFIER}",
    "activity_id": "football-chiefs-bills-2024-01-21",
    "content_state": {
        "teamOneScore": 0,
        "teamTwoScore": 0
    },
    "activity_attributes_type": "FootballActivity",
    "activity_attributes": {
        "team1Name": "Chiefs",
        "team2Name": "Bills"
    },
    "dismissal_date": "2024-01-22T00:00:00+0000",
    "stale_date": "2024-01-22T16:55:49+0000",
    "notification": {
        "alert": {
            "body": "The game is starting! Tune in soon!",
            "title": "Chiefs v. Bills"
        }
    },
    // One of the following required:
    "segment_id": "{YOUR-SEGMENT-API-IDENTIFIER}", // Optional
    "custom_audience": {...}, // Optional
    "external_user_ids": ["user-id1", "user-id2"], // Optional
}'

応答

このエンドポイントには2つのステータスコード応答があります: 2014XX

成功応答の例

リクエストが正しくフォーマットされ、当社がそのリクエストを受け取った場合、201 ステータスコードが返されます。ステータスコード 201 は、次の応答本文を返す可能性があります。

1
2
3
{
  "message": "success"
}

エラー応答例

ステータスコードの4XXクラスはクライアントエラーを示します。エラーに関する詳細は、APIエラーと応答の記事を参照してください。

ステータスコード 400 は、次の応答本文を返す可能性があります。

1
2
3
{
    "error": "\nProblem:\n  message body does not match declared format\nResolution:\n  when specifying application/json as content-type, you must pass valid application/json in the request's 'body' "
}
「このページはどの程度役に立ちましたか?」
New Stuff!