API для iOS Live Activities
Документация Apple:
startLiveActivity
Anchor link toPOST https://api.pushwoosh.com/json/1.3/startLiveActivity
Позволяет создавать iOS Live Activities.
Тело запроса
Anchor link to| Параметр | Тип | Обязательный/Необязательный | Описание |
|---|---|---|---|
| application | String | Обязательный | Код приложения Pushwoosh |
| auth | String | Обязательный | Токен доступа API из Панели управления Pushwoosh. |
| notifications | Array | Обязательный | JSON-массив параметров сообщения. Подробности смотрите в таблице Notifications ниже. |
Notifications
Anchor link toПараметры, используемые в массиве notifications:
| Параметр | Тип | Обязательный/Необязательный | Описание |
|---|---|---|---|
| content | String | Обязательный | Резервный контент для устройств с версией iOS ниже 16.1, которые не поддерживают Live Activity. На iOS 16.1+ (с поддержкой Live Activity) контент берется из поля live_activity. |
| title | String | Необязательный | Заголовок уведомления. |
| live_activity | Object | Обязательный | Данные Live Activity для создания Live Activity в iOS. |
| live_activity.content-state | Object | Обязательный | Контент для уведомления Live Activity. |
| live_activity.attributes-type | String | Обязательный | Тип атрибутов, используемых в Live Activity. |
| live_activity.attributes | Object | Обязательный | Атрибуты для Live Activity. |
| live_activity_id | String | Обязательный | Уникальный идентификатор для Live Activity. Используется для обращения к этой активности при вызове updateLiveActivity. Должен быть уникальным для каждой сессии активности. |
| filter | String | Необязательный | Название фильтра (сегмента) Pushwoosh. См. Название сегмента / фильтра. Live Activity будет запущена на всех устройствах, соответствующих этому фильтру. |
| devices | Array 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" } ] }}{ "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": "SECOND_LIVE_ACTIVITY", "devices": ["first_third", "second_device"] } ] }}Пример ответа
Anchor link to{ "status_code": 200, "status_message": "OK", "response": { "Messages": [ "XXXXX-XXXXXXXX-XXXXXXXX" ] }}Примечание:
Прочтите эту статью, чтобы узнать больше о работе с Live Activities с помощью Pushwoosh iOS SDK.
updateLiveActivity
Anchor link toPOST https://api.pushwoosh.com/json/1.3/updateLiveActivity
Позволяет обновлять и завершать iOS Live Activities
Тело запроса
Anchor link to| Параметр | Тип | Обязательный/Необязательный | Описание |
|---|---|---|---|
| auth | String | Обязательный | Токен доступа API из Панели управления Pushwoosh. |
| application | String | Обязательный | Код приложения Pushwoosh |
| notifications | Array | Обязательный | JSON-массив параметров сообщения. Подробности смотрите в таблице Notifications ниже. |
Notifications
Anchor link toПараметры, используемые в массиве notifications:
| Параметр | Тип | Обязательный/Необязательный | Описание |
|---|---|---|---|
| live_activity | Object | Обязательный | Данные Live Activity для обновления Live Activity в iOS. |
| live_activity.event | String | Обязательный | Указывает тип события. Используйте "update" для обновления Live Activity или "end" для ее закрытия. |
| live_activity.content-state | Object | Обязательный | Объект с парами ключ-значение, используемый для передачи данных в Live Activity для обновления ее контента. |
| live_activity.dismissal-date | Integer | Необязательный | Время (в секундах), когда Live Activity должна завершиться. |
| live_activity_id | String | Обязательный | Уникальный идентификатор Live Activity для обновления. Должен совпадать с live_activity_id, использованным в startLiveActivity. Обновление будет доставлено на все устройства, на которых была запущена эта активность. |
| live_activity.relevance-score | Integer | Необязательный | Сообщает системе iOS, какая Live Activity имеет более высокий приоритет по сравнению с другими. Принимает значения от 1 до бесконечности (рекомендуются значения до 100). |
| live_activity.stale-date | Integer | Необязательный | Время (в секундах), представляющее дату, когда 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. Если место на экране ограничено или активности сгруппированы, активность с более высоким значением будет показана с более высоким приоритетом.