Widget Extension 데이터 수집¶
Widget Extension 데이터 수집¶
데이터 수집 지원 유형¶
- Logger 사용자 정의 로그
- Trace 분산 추적
- RUM 데이터 수집
- 수동 수집 (RUM 사용자 데이터 추적)
- 충돌 로그, HTTP Resource 데이터 자동 수집
HTTP Resource 데이터는 View와 바인딩되어 있으므로, 사용자가 View 데이터를 수동으로 수집해야 합니다.
수집 설정¶
FTExtensionConfig를 사용하여 Widget Extension 데이터 수집의 자동 스위치와 파일 공유 Group Identifier를 구성합니다. 다른 설정은 메인 프로젝트 SDK에 이미 설정된 구성을 사용합니다.
| 필드 | 유형 | 필수 | 설명 |
|---|---|---|---|
| groupIdentifier | NSString | 예 | 파일 공유 Group Identifier |
| enableSDKDebugLog | BOOL | 아니요 (기본값 NO) | SDK 디버그 로그 출력 허용 여부 설정 |
| enableTrackAppCrash | BOOL | 아니요 (기본값 NO) | 충돌 로그 수집 필요 여부 설정 |
| enableRUMAutoTraceResource | BOOL | 아니요 (기본값 NO) | 사용자 네트워크 요청 추적 여부 설정 (native http에만 적용) |
| enableTracerAutoTrace | BOOL | 아니요 (기본값 NO) | 자동 http 분산 추적 활성화 여부 설정 |
| memoryMaxCount | NSInteger | 아니요 (기본값 1000개) | Widget Extension에 저장되는 최대 데이터 개수 |
Widget Extension SDK 사용 예시:
let extensionConfig = FTExtensionConfig.init(groupIdentifier: "group.identifier")
extensionConfig.enableTrackAppCrash = true
extensionConfig.enableRUMAutoTraceResource = true
extensionConfig.enableTracerAutoTrace = true
extensionConfig.enableSDKDebugLog = true
FTExtensionManager.start(with: extensionConfig)
FTExternalDataManager.shared().startView(withName: "WidgetDemoEntryView")
또한 메인 프로젝트에서 FTMobileConfig를 설정할 때 groupIdentifiers를 반드시 설정해야 합니다.
Widget Extension 수집 데이터 업로드¶
Widget Extension SDK에서는 데이터 수집만 구현하며, 데이터 업로드 로직은 메인 프로젝트의 SDK가 담당합니다. 수집된 데이터를 메인 프로젝트로 동기화하는 시점은 사용자가 정의할 수 있습니다.
사용 방법¶
// 메인 프로젝트에서 호출
/// Track App Extension groupIdentifier에 캐시된 데이터
/// - Parameters:
/// - groupIdentifier: groupIdentifier
/// - completion: track 완료 후 callback
- (void)trackEventFromExtensionWithGroupIdentifier:(NSString *)groupIdentifier completion:(nullable void (^)(NSString *groupIdentifier, NSArray *events)) completion;