Перейти к содержанию

API для iOS Live Activities

Документация Apple:

startLiveActivity

Anchor link to

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

Позволяет создавать iOS Live Activities.

Тело запроса

Anchor link to
ПараметрТипОбязательный/НеобязательныйОписание
applicationStringОбязательныйКод приложения Pushwoosh
authStringОбязательныйТокен доступа API из Панели управления Pushwoosh.
notificationsArrayОбязательныйJSON-массив параметров сообщения. Подробности смотрите в таблице Notifications ниже.

Notifications

Anchor link to

Параметры, используемые в массиве notifications:

ПараметрТипОбязательный/НеобязательныйОписание
contentStringОбязательныйРезервный контент для устройств с версией iOS ниже 16.1, которые не поддерживают Live Activity. На iOS 16.1+ (с поддержкой Live Activity) контент берется из поля live_activity.
titleStringНеобязательныйЗаголовок уведомления.
live_activityObjectОбязательныйДанные Live Activity для создания Live Activity в iOS.
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. См. Название сегмента / фильтра. Live Activity будет запущена на всех устройствах, соответствующих этому фильтру.
devicesArray of StringsНеобязательныйСписок токенов устройств. 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"
]
}
}

Примечание:

Прочтите эту статью, чтобы узнать больше о работе с Live Activities с помощью Pushwoosh iOS SDK.

updateLiveActivity

Anchor link to

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

Позволяет обновлять и завершать iOS Live Activities

Тело запроса

Anchor link to
ПараметрТипОбязательный/НеобязательныйОписание
authStringОбязательныйТокен доступа API из Панели управления Pushwoosh.
applicationStringОбязательныйКод приложения Pushwoosh
notificationsArrayОбязательныйJSON-массив параметров сообщения. Подробности смотрите в таблице Notifications ниже.

Notifications

Anchor link to

Параметры, используемые в массиве notifications:

ПараметрТипОбязательный/НеобязательныйОписание
live_activityObjectОбязательныйДанные Live Activity для обновления Live Activity в iOS.
live_activity.eventStringОбязательныйУказывает тип события. Используйте "update" для обновления Live Activity или "end" для ее закрытия.
live_activity.content-stateObjectОбязательныйОбъект с парами ключ-значение, используемый для передачи данных в Live Activity для обновления ее контента.
live_activity.dismissal-dateIntegerНеобязательныйВремя (в секундах), когда Live Activity должна завершиться.
live_activity_idStringОбязательныйУникальный идентификатор Live Activity для обновления. Должен совпадать с live_activity_id, использованным в startLiveActivity. Обновление будет доставлено на все устройства, на которых была запущена эта активность.
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"
]
}
}

Прочтите эту статью, чтобы узнать больше о работе с Live Activities с помощью Pushwoosh iOS SDK.

Несколько активностей на одном устройстве

Anchor link to

Вы можете запустить несколько Live Activities на одном устройстве, вызвав startLiveActivity несколько раз с разными значениями live_activity_id.

Например, если вы запускаете две активности: FIRST_LIVE_ACTIVITY с фильтром filter: FILTER_NAME_1 и SECOND_LIVE_ACTIVITY с фильтром filter: FILTER_NAME_2, на устройстве, которое соответствует обоим фильтрам, обе активности будут запущены одновременно.

Чтобы обновить одну из них, передайте ее live_activity_id в updateLiveActivity. Обновление будет доставлено на все устройства, где была создана эта активность. Другая активность не будет затронута.

Параметр relevance-score управляет приоритетом отображения, когда на одном устройстве активно несколько Live Activities. Если место на экране ограничено или активности сгруппированы, активность с более высоким значением будет показана с более высоким приоритетом.