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;