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

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 будет запущена только на указанных устройствах.
send_dateStringНеобязательныйПланирует push-уведомление, которое запускает Live Activity, на определенную дату и время — работает с таргетингом как по filter, так и по devices. Используйте формат YYYY-MM-DD HH:mm или now для немедленного запуска (это также значение по умолчанию, если параметр опущен). Дата не должна быть более чем на 1 день в прошлом или на 30 дней в будущем, иначе запрос будет отклонен с ошибкой валидации.
timezoneStringНеобязательныйЧасовой пояс, используемый для интерпретации send_date. Если опущен, send_date интерпретируется в UTC.

Пример запроса

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. Если место на экране ограничено или активности сгруппированы, активность с более высоким значением отображается с более высоким приоритетом.