ライブアクティビティを開始
post
/messages/live_activity/start
このエンドポイントを使用して、iOSアプリに表示されるLive Activitiesをリモートで開始します。このエンドポイントは追加のセットアップが必要です。
ライブアクティビティを作成した後、任意のセグメントのアクティビティをリモートで開始するためにPOSTリクエストを送信できます。詳細については、Appleのライブアクティビティについては、ActivityKitプッシュ通知でライブアクティビティを開始および更新するを参照してください。
前提条件
このエンドポイントを使用するには、次の手順を完了する必要があります:
messages.live_activity.start
の権限を持つ API キーを生成します。- 「ライブアクティビティを作成」Braze SWIFT SDK を使用します。
レート制限
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"
}
リクエストパラメーター
パラメーター | required | データ型 | 説明 |
---|---|---|---|
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 オブジェクトを含めます。このプッシュ通知の動作は、ユーザーがアクティブであるか、ユーザーがプロキシデバイスを使用しているかによって異なります。
|
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つのステータスコード応答があります: 201
と 4XX
。
成功応答の例
リクエストが正しくフォーマットされ、当社がそのリクエストを受け取った場合、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!