コンテンツにスキップ

Widget Extension データ収集

Widget Extension データ収集

データ収集のサポートタイプ

  • Logger カスタムログ
  • Trace 分散型トレーシング
  • RUM データ収集

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 を設定してください。

// メインプロジェクト
 FTMobileConfig *config = [[FTMobileConfig alloc]initWithMetricsUrl:url];
 config.enableSDKDebugLog = YES;
 config.groupIdentifiers = @[@"group.com.ft.widget.demo"];
let config = FTMobileConfig.init(metricsUrl: url)
config.enableSDKDebugLog = true
config.groupIdentifiers = ["group.com.ft.widget.demo"]

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;
/// Track App Extension groupIdentifier にキャッシュされたデータ
/// - Parameters:
///   - groupIdentifier: groupIdentifier
///   - completion: track 完了後の callback
open func trackEventFromExtension(withGroupIdentifier groupIdentifier: String, completion: ((String, [Any]) -> Void)? = nil)

コード例

// メインプロジェクト内
-(void)applicationDidBecomeActive:(UIApplication *)application{
    [[FTMobileAgent sharedInstance] trackEventFromExtensionWithGroupIdentifier:@"group.identifier" completion:nil];
}
func applicationDidBecomeActive(_ application: UIApplication) {
   FTMobileAgent.sharedInstance().trackEventFromExtension(withGroupIdentifier: "group.identifier" )
}

フィードバック

このページは役に立ちましたか?