開始使用即時活動

透過 Firebase Cloud Messaging HTTP v1 API,您可以在 iOS 裝置上遠端傳送、更新及結束即時活動通知。請注意,您必須使用 iOS 16.1 才能使用即時活動,並使用 iOS 17.2 才能遠端啟動即時活動通知。

事前準備

開始在 Firebase Cloud Messaging 上進行即時活動前,請按照「在 Apple 平台上設定 Firebase 雲端通訊用戶端應用程式」中的指示,在用戶端應用程式中建立並新增 Firebase Cloud Messaging

開始直播活動

如要使用 Firebase Cloud Messaging 從遠端啟動即時活動,您必須從 Apple 取得推送開始權杖。您也需要目標應用程式的 FCM 註冊權杖

如要建構啟動直播活動的酬載,請填寫下列程式碼範例的 apns.payload 欄位,使用 FCM 從遠端啟動即時活動。您可以使用 API Explorer 建構及測試酬載。

"message":{
    "token": "<fcm_token:test>",
    "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"
          }
        }
      }
    }
  }

更新即時活動

如要使用 Firebase Cloud Messaging 遠端更新直播活動,您必須向 Apple 取得推播權杖。您也需要使用目標應用程式的 FCM 註冊權杖

如要建構可更新 Live 活動的酬載,請填入下列程式碼範例中的 apns.payload 欄位,以便使用 FCM 遠端更新 Live 活動。您可以使用 API Explorer 建構及測試酬載。

"message":{
    "token": "<fcm_token:test>",
    "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"
          }
        }
      }
    }
  }
}

結束即時活動

如要使用 Firebase Cloud Messaging 結束直播活動,您必須向 Apple 取得推播權杖。您也需要目標應用程式的 FCM 註冊權杖

如要建構結束直播活動的酬載,請填寫下列程式碼範例的 apns.payload 欄位,使用 FCM 遠端結束進行中的活動。您可以使用 API Explorer 建構及測試酬載。

"message":{
     "token": "<fcm_token:test>",
    "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"
          }
        }
      }
    }
  }
}