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 탐색기를 사용하여 페이로드를 구성하고 테스트할 수 있습니다.
"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 등록 토큰도 필요합니다.
실시간 활동을 업데이트하는 페이로드를 구성하려면 다음 코드 샘플의 apns.payload
필드를 채워 FCM를 사용하여 실시간 활동을 원격으로 업데이트합니다. API 탐색기를 사용하여 페이로드를 구성하고 테스트할 수 있습니다.
"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 탐색기를 사용하여 페이로드를 구성하고 테스트할 수 있습니다.
"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" } } } } } }