С помощью HTTP v1 API Firebase Cloud Messaging вы можете удаленно отправлять, обновлять и завершать уведомления об интерактивных действиях на устройствах iOS. Обратите внимание, что для использования Эфира активности требуется iOS 16.1, а для удаленного запуска уведомления об Эфире активности – iOS 17.2.
Подготовка
Прежде чем начать работу с Live Activity в Firebase Cloud Messaging, следуйте инструкциям в статье Как настроить клиентское приложение Firebase Cloud Messaging на платформах Apple, чтобы создать и добавить Firebase Cloud Messaging в клиентское приложение.
Как запустить эфирную активность
Чтобы запустить эфир активности удаленно с помощью Firebase Cloud Messaging, вам нужно получить от Apple токен push-to-start. Вам также понадобится токен регистрации FCM для целевого приложения.
Чтобы создать полезную нагрузку, которая запускает трансляцию, заполните поле apns.payload из приведенного ниже примера кода, чтобы удаленно запустить трансляцию с помощью FCM.
REST
{ "message": { "token": "FCM_TOKEN", "apns": { "live_activity_token": "LIVE_ACTIVITY_PUSH_TO_START_TOKEN", "headers": { "apns-priority": "10" }, "payload": { "aps": { "timestamp": TIMESTAMP, "event": "start", "content-state": { "demo": 1 }, "attributes-type": "DemoAttributes", "attributes": { "demoAttribute": 1 }, "alert": { "title": "test title", "body": "test body" } } } } } }
cURL
curl -X POST -H "Authorization: Bearer OAUTH2_ACCESS_TOKEN" -H "Content-Type: application/json" -d '{ "message": { "token": "FCM_TOKEN", "apns": { "live_activity_token": "LIVE_ACTIVITY_PUSH_TO_START_TOKEN", "headers": { "apns-priority": "10" }, "payload": { "aps": { "timestamp": TIMESTAMP, "event": "start", "content-state": { "demo": 1 }, "attributes-type": "DemoAttributes", "attributes": { "demoAttribute": 1 }, "alert": { "title": "test title", "body": "test body" } } } } } }' https://fcm.googleapis.com/v1/projects/YOUR_PROJECT_ID/messages:send
Нажмите Выполнить, чтобы попробовать пример в API Explorer.
Как обновить данные Live Activity
Чтобы удаленно обновлять интерактивное уведомление с помощью Firebase Cloud Messaging, вам нужно получить токен push-уведомлений от Apple. Вам также понадобится токен регистрации FCM целевого приложения.
Чтобы создать полезную нагрузку, которая обновляет Live Activity, заполните поле apns.payload из примера кода ниже. Это позволит удаленно обновлять Live Activity с помощью FCM.
REST
{ "message": { "token": "FCM_TOKEN", "apns": { "live_activity_token": "LIVE_ACTIVITY_PUSH_TOKEN", "headers": { "apns-priority": "10" }, "payload": { "aps": { "timestamp": TIMESTAMP, "event": "update", "content-state": { "test1": 100, "test2": "demo" }, "alert": { "title": "test title", "body": "test body" } } } } } }
cURL
curl -X POST -H "Authorization: Bearer OAUTH2_ACCESS_TOKEN" -H "Content-Type: application/json" -d '{ "message": { "token": "FCM_TOKEN", "apns": { "live_activity_token": "LIVE_ACTIVITY_PUSH_TOKEN", "headers": { "apns-priority": "10" }, "payload": { "aps": { "timestamp": TIMESTAMP, "event": "update", "content-state": { "test1": 100, "test2": "demo" }, "alert": { "title": "test title", "body": "test body" } } } } } }' https://fcm.googleapis.com/v1/projects/YOUR_PROJECT_ID/messages:send
Нажмите Выполнить, чтобы попробовать пример в API Explorer.
Как завершить интерактивное действие
Чтобы завершить событие в прямом эфире с помощью Firebase Cloud Messaging, вам нужно получить токен push-уведомлений от Apple. Вам также понадобится токен регистрации FCM целевого приложения.
Чтобы создать полезную нагрузку, которая завершает трансляцию, заполните поле apns.payload из приведенного ниже примера кода, чтобы удаленно завершить трансляцию с помощью FCM.
REST
{ "message": { "token": "FCM_TOKEN", "apns": { "live_activity_token": "LIVE_ACTIVITY_PUSH_TOKEN", "headers": { "apns-priority": "10" }, "payload": { "aps": { "timestamp": TIMESTAMP, "dismissal-date": DISMISSAL_DATE, "event": "end", "content-state": { "test1": 100, "test2": "demo" }, "alert": { "title": "test title", "body": "test body" } } } } } }
cURL
curl -X POST -H "Authorization: Bearer OAUTH2_ACCESS_TOKEN" -H "Content-Type: application/json" -d '{ "message": { "token": "FCM_TOKEN", "apns": { "live_activity_token": "LIVE_ACTIVITY_PUSH_TOKEN", "headers": { "apns-priority": "10" }, "payload": { "aps": { "timestamp": TIMESTAMP, "dismissal-date": DISMISSAL_DATE, "event": "end", "content-state": { "test1": 100, "test2": "demo" }, "alert": { "title": "test title", "body": "test body" } } } } } }' https://fcm.googleapis.com/v1/projects/YOUR_PROJECT_ID/messages:send
Нажмите Выполнить, чтобы попробовать пример в API Explorer.