跳到内容

iOS Live Activities API

Apple 文档:

startLiveActivity

Anchor link to

POST https://api.pushwoosh.com/json/1.3/startLiveActivity

允许创建 iOS Live Activities。

请求正文

Anchor link to
参数类型必需/可选描述
applicationString必需Pushwoosh application code (应用代码)
authString必需来自 Pushwoosh Control Panel 的 API access token (API 访问令牌)
notificationsArray必需消息参数的 JSON 数组。详见下方的 Notifications 表。

Notifications

Anchor link to

notifications 数组中使用的参数:

参数类型必需/可选描述
contentString必需为运行 iOS 16.1 以下版本且不支持 Live Activity 的设备提供的备用内容。在 iOS 16.1+(支持 Live Activity)上,内容来源于 live_activity 字段。
titleString可选通知消息的标题。
live_activityObject必需用于在 iOS 中创建 Live Activity 的 Live Activity 数据。
live_activity.content-stateObject必需Live Activity 通知的内​​容。
live_activity.attributes-typeString必需Live Activity 中使用的属性类型。
live_activity.attributesObject必需Live Activity 的属性。
live_activity_idString必需Live Activity 的唯一标识符。用于在调用 updateLiveActivity 时定位此活动。每个活动会话必须是唯一的。
filterString可选Pushwoosh 过滤器(分段)的名称。请参阅 Segment / Filter name (分段/过滤器名称)。Live Activity 将在此过滤器匹配的所有设备上启动。
devicesArray of Strings可选device tokens (设备令牌) 列表。Live Activity 将仅在指定的设备上启动。

请求示例

Anchor link to
{
"request": {
"application": "XXXXX-XXXXX",
"auth": "SECRET_API_TOKEN",
"notifications": [
{
"content": "Your order is being prepared",
"title": "Food Delivery",
"live_activity": {
"event": "start",
"title": "Order status",
"content-state": {
"status": "Third",
"estimatedTime": "37 min",
"emoji": "👨‍🍳"
},
"attributes-type": "FoodDeliveryAttributes",
"attributes": {}
},
"live_activity_id": "FIRST_LIVE_ACTIVITY",
"filter": "FILTER_NAME_1"
}
]
}
}

响应示例

Anchor link to
{
"status_code": 200,
"status_message": "OK",
"response": {
"Messages": [
"XXXXX-XXXXXXXX-XXXXXXXX"
]
}
}

注意:

阅读这篇文章,了解更多关于使用 Pushwoosh iOS SDK 处理 Live Activities 的信息。

updateLiveActivity

Anchor link to

POST https://api.pushwoosh.com/json/1.3/updateLiveActivity

允许更新和结束 iOS Live Activities

请求正文

Anchor link to
参数类型必需/可选描述
authString必需来自 Pushwoosh Control Panel 的 API access token (API 访问令牌)
applicationString必需Pushwoosh application code (应用代码)
notificationsArray必需消息参数的 JSON 数组。详见下方的 Notifications 表。

Notifications

Anchor link to

notifications 数组中使用的参数:

参数类型必需/可选描述
live_activityObject必需用于在 iOS 中更新 Live Activity 的 Live Activity 数据。
live_activity.eventString必需指定事件类型。使用 "update" 更新 Live Activity 或使用 "end" 关闭它。
live_activity.content-stateObject必需包含键值对的对象,用于将数据传递给 Live Activity 以更新其内容。
live_activity.dismissal-dateInteger可选Live Activity 应结束的时间(以秒为单位)。
live_activity_idString必需要更新的 Live Activity 的唯一标识符。必须与 startLiveActivity 中使用的 live_activity_id 匹配。更新将被分发到所有启动了此活动的设备上。
live_activity.relevance-scoreInteger可选告知 iOS 系统哪个 Live Activity 的优先级高于其他活动。接受从 1 到无穷大的值(建议使用 100 以下的值)。
live_activity.stale-dateInteger可选表示 Live Activity 变为过时或过期的日期的时间(以秒为单位)。

请求示例

Anchor link to
{
"request": {
"application": "XXXXX-XXXXX",
"auth": "SECRET_API_TOKEN",
"notifications": [
{
"live_activity": {
"event": "update",
"title": "Live Activity Update",
"content-state": {
"status": "second 66",
"estimatedTime": "66 min",
"emoji": "👨‍"
},
"relevance-score": 60
},
"live_activity_id": "FIRST_LIVE_ACTIVITY"
}
]
}
}

响应示例

Anchor link to
{
"status_code": 200,
"status_message": "OK",
"response": {
"Messages": [
"XXXXX-XXXXXXXX-XXXXXXXX"
]
}
}

阅读这篇文章,了解更多关于使用 Pushwoosh iOS SDK 处理 Live Activities 的信息。

每个设备的多个活动

Anchor link to

您可以通过多次调用 startLiveActivity 并使用不同的 live_activity_id 值,在同一设备上启动多个 Live Activities。

例如,如果您启动两个活动:使用 filter: FILTER_NAME_1FIRST_LIVE_ACTIVITY 和使用 filter: FILTER_NAME_2SECOND_LIVE_ACTIVITY,那么同时匹配这两个过滤器的设备将同时运行这两个活动。

要更新其中一个活动,请将其 live_activity_id 传递给 updateLiveActivity。更新将被分发到所有创建了该活动的设备上。另一个活动不受影响。

当同一设备上有多个 Live Activities 处于活动状态时,relevance-score 参数控制显示优先级。如果屏幕空间有限或活动被分组,则值较高的活动将以更高的优先级显示。