요구 사항
- 최신 버전의 SDK.
- iOS 16.1+ 및 iPadOS 17+
- .p8 APNs 키를 사용하세요. Apple은 Live Activities에서 p12 인증서를 지원하지 않습니다.
- Xcode 14 이상
설정
1. SDK 설정
앱에 최신 버전의 Mobile SDK를 설정했는지 확인하세요. Live Activities는 웹사이트 또는 Web SDK에서 사용할 수 없습니다.
Unity
Unity 기반 모바일 앱용 크로스 플랫폼 SDK 가이드.

React Native & Expo
React Native 및 Expo 환경 설정 지침.

Flutter
Dart를 사용하는 Flutter 앱용 SDK 가이드.

Ionic & Ionic Capacitor
Ionic 및 Capacitor 하이브리드 모바일 앱 설정.
.NET MAUI
.NET MAUI 앱과 통합하기 위한 가이드.

Huawei Android Native
HMS 푸시 서비스를 사용하는 Huawei 기기용 SDK 설정.
2. 새로운 setupDefault 메서드 추가
OneSignal SDK에 DefaultLiveActivityAttributes 유형에 대한 LiveActivity 수명 주기를 관리하도록 지시하려면 setupDefault 메서드를 호출할 수 있습니다. 이 메서드를 사용하면 Start Live Activity 및 Update Live Activity API를 모두 사용하여 기본 Live Activity를 시작/업데이트/종료할 수 있습니다.
3. Activity Widget 만들기
1
Info.plist 업데이트
Xcode에서 메인 타겟의 
Info.plist를 열고 Supports Live Activities 키를 Boolean으로 추가하고 YES로 설정하세요.
Info에 Supports Live Activities 키를 추가하고 값을 Boolean YES로 설정
Live Activities를 업데이트할 때 Apple이 업데이트의 긴급성을 결정하는 데 사용하는 “priority”를 설정할 수 있는 옵션이 있습니다. Apple에는 높은 우선순위 플래그를 너무 자주 사용하는 요청을 제한하는 내부 임계값이 있습니다.Live Activities에 대한 사용 사례가 더 빈번한 높은 우선순위 업데이트에 의존하는 경우 Apple의 개발자 문서에 지시된 대로 Info.plist에
NSSupportsLiveActivitiesFrequentUpdates 키를 Boolean 유형으로 YES로 설정하여 추가할 수 있습니다. Live Activity가 푸시 예산을 초과하면 사용자에게 대화 상자가 표시되며 Live Activity를 계속 허용하면 원활한 사용자 경험을 위해 예산이 자동으로 증가합니다.2
Widget Extension 만들기
Xcode에서 File > New > Target… > Widget Extension으로 이동하세요.
선택하고 Next를 누르세요.이름을 제공하여(예: 
스키마를 활성화하라는 메시지가 표시되면 Don’t Activate를 클릭하세요.

Xcode에서 앱용 새 Widget Extension 타겟 추가.
OneSignalWidget) Widget Extension을 구성하고 Include Live Activity가 선택되어 있는지 확인하세요. 그런 다음 Finish를 클릭하세요.
Live Activity용 Widget Extension 옵션.

Live Activity용 Widget Extension 옵션.
3
Podfile에 OneSignalXCFramework 추가
프로젝트의 Targets 목록에서 widget extension 타겟의 이름을 찾으세요. 예제의 이름은 
Xcode를 닫고
OneSignalWidgetExtension입니다.
widget extension 타겟의 이름 찾기
Podfile을 열고 다음 코드를 추가하세요. OneSignalWidgetExtension을 widget extension 타겟의 이름으로 교체하세요.Podfile
pod repo update && pod install을 실행하여 OneSignalLiveActivities pod를 설치하세요.4. LiveActivity.swift 파일 설정
Xcode에서 WidgetExtensionLiveActivity.swift 파일을 여세요. 화면 오른쪽의 Inspector 패널을 여세요. Target Membership 내에서 + 버튼을 클릭하고 Runner 타겟을 선택하세요.
메인 타겟 멤버십 허용
Swift
Live Activity 테스트
- 앱을 시작하세요
- Start Live Activity API 레퍼런스에서 가능한 모든 필드를 확인하세요. 이러한 필드의 구조는 UI를 설정한 방법에 따라 다를 수 있습니다. 예를 들어:
"event_updates": Live Activity가 시작된 후 업데이트할 수 있는 동적 데이터입니다(코드 예제의context.state이후의 모든 것). context.state.data가 있으므로 이 필드에 데이터 객체와 코드 예제에 추가한 message 딕셔너리와 같은 추가 필드를 추가합니다. 사용 방법은 아래 예제 요청을 참조하세요."event_attributes": push to start 요청에서 설정되는 정적 데이터이며 Live Activity가 제거되거나 덮어쓰기될 때까지 동일한 값을 유지합니다.
-
push to start를 사용할 때 코드가 아닌 요청에서
"activity_id"를 설정합니다. 다른 Activity ID를 사용하면 새 Live Activities가 시작됩니다. 동일한 Activity ID를 사용하면 현재 해당 ID를 사용하는 위젯을 덮어씁니다. -
url 경로에서 OneSignal 앱 ID를, Authorization 헤더에서 Rest API Key를 변경했는지 확인하세요. 기본 설정을 사용하는 경우
DefaultActivityAttributes유형은 변경할 수 없습니다. 또한 경로에 추가된 activity 유형은 대소문자를 구분하며 아래 예제에서 사용된 기본 activity 또는 정의한 것과 일치해야 합니다.
curl