요구 사항
- 앱은 최신 버전의 OneSignal SDK를 사용해야 합니다.
- Android 사용자는 푸시 알림 권한을 활성화해야 합니다.
라이브 알림 vs. 표준 푸시
매번 새 알림을 보내는 일반 푸시 알림과 달리 라이브 알림은 시간이 지남에 따라 업데이트되는 단일 알림을 사용합니다. 업데이트는 동일한collapse_id를 사용하여 Create Message API를 통해 전송됩니다.
구성
1. 알림 서비스 확장 구현
INotificationServiceExtension을 구현하는 NotificationServiceExtension 클래스를 만듭니다. 이 클래스는 들어오는 알림을 가로채서 수정하거나 재정의할 수 있습니다.
자세한 내용은 Android 알림 서비스 확장을 참조하세요.
NotificationServiceExtention.kt
2. Android Manifest에 확장 추가
3. 라이브 알림 유형 만들기
라이브 알림 유형은 어떤 라이브 알림을 시작할지 나타냅니다.키 정의
라이브 알림은key로 참조되며, 이는 업데이트가 라우팅되는 방법을 결정합니다.
NotificationServiceExtention.kt
알림 채널 만들기
채널은 알림의 동작(소리, 진동, 모양)을 정의합니다. 라이브 알림 유형에 대한 채널을 만들어야 합니다. 권장 사항:- 진행 알림에는 낮은 중요도 사용
- 배지 비활성화
- 소리 및 진동을 최소화
라이브 알림 디자인
라이브 알림을 디자인할 때 각 업데이트 유형에 대한 알림 디자인을 만들 수 있는 유연성이 있습니다. 만드는 각 디자인에는 특정 유형이 할당되어야 하므로 라이브 알림의 다양한 표현이 가능합니다.NotificationServiceExtention.kt
- 작은 아이콘 및 강조 색상
- 큰 아이콘
- 큰 그림
- 작업 버튼
고급 디자인 옵션은 Android 사용자 지정 알림 레이아웃을 참조하세요.
4. 라이브 알림 페이로드 추출
라이브 알림은additional_data 필드를 사용하여 구조화된 콘텐츠를 전달합니다.
NotificationServiceExtention.kt
라이브 알림 스키마
| 속성 | 필수 | 설명 |
|---|---|---|
key | 예 | 올바른 알림 UI를 로드하는 데 사용됩니다. |
event | 예 | 라이브 알림에서 수행할 작업입니다. |
event_attributes | 아니요 | 라이브 알림을 초기화하는 데 사용되는 정적 데이터입니다. 알림에 필요한 데이터를 정의하는 자체 정의 스키마입니다. |
event_updates | 아니요 | 라이브 알림의 동적 콘텐츠입니다. 앱의 라이브 알림 내에 정의된 ContentState 인터페이스를 따라야 합니다. |
Example Live Notification Payload
5. 라이브 알림 이벤트 처리
각 라이브 알림은 다음 이벤트에 응답해야 합니다:| 이벤트 | 설명 | 필수 필드 |
|---|---|---|
start | 정적 및 동적 데이터로 라이브 알림을 시작합니다. | event_attributes, event_updates |
update | 새 동적 데이터로 라이브 알림을 업데이트합니다. | event_updates |
end | 라이브 알림을 종료하고 제거합니다. | 없음 |
NotificationServiceExtention.kt
라이브 알림 시작
라이브 알림을 시작할 준비가 되면:event_attributes를 설정하여 라이브 알림의 정적 데이터를 초기화합니다. 이 데이터는 라이브 알림의 수명 동안 변경되지 않습니다.event_updates데이터를 설정하여 라이브 알림의 동적 데이터를 초기화합니다. 이것은 라이브 알림의 수명 동안 변경될 수 있고 변경될 데이터입니다.collapse_id를 사용하여 각 업데이트가 이전 업데이트를 재정의하도록 합니다. 이 ID는 라이브 알림에 고유해야 후속 업데이트가 동일한 알림에 반영됩니다.
curl
라이브 알림 업데이트
먼저 시작한 경우 라이브 알림을 원하는 만큼 여러 번 업데이트할 수 있습니다.event_updates데이터를 설정하여 라이브 알림의 동적 데이터를 초기화합니다. 이것은 라이브 알림의 수명 동안 변경될 수 있고 변경될 데이터이며 라이브 알림의 콘텐츠를 무엇으로 업데이트할지 알려줍니다.
curl
라이브 알림 종료
cURL 요청 예제curl