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 打印 Debug 日志 |
| 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;