カスタムタグの使用¶
静的利用¶
- 既存の
main.dartを2つの部分に分割します。1つはmain()、もう1つはApp()とMaterialAppコンポーネントを含む部分です。 - 各環境に対応するエントリファイルを作成します(例:
main_prod.dart、main_gray.dart)。 - 対応する環境エントリでカスタムタグを設定します。
/// main_prod.dart
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await FTMobileFlutter.sdkConfig(
datakitUrl: serverUrl,
debug: true,
);
await FTRUMManager().setConfig(
androidAppId: appAndroidId,
iOSAppId: appIOSId,
globalContext: {CUSTOM_STATIC_TAG: "prod_static_tag"},
);
runApp(MyApp());
}
動的利用¶
RUM 起動後に globalContext を再設定しても、起動済みの設定には即座に反映されないため、動的タグは通常ローカルに永続化し、次回アプリ起動時に反映されます。
- ファイル形式のデータ(例:
shared_preferencesのSharedPreferences)を使用してタグデータを保存し、SDK 設定時に読み込みます。
final prefs = await SharedPreferences.getInstance();
String customDynamicValue =
prefs.getString("customDynamicValue") ?? "not set";
await FTRUMManager().setConfig(
androidAppId: appAndroidId,
iOSAppId: appIOSId,
globalContext: {CUSTOM_DYNAMIC_TAG: customDynamicValue},
);
- 任意の場所でファイルデータを変更するメソッドを追加します。
static Future<void> setDynamicParams(String value) async {
final prefs = await SharedPreferences.getInstance();
prefs.setString(CUSTOM_DYNAMIC_TAG, value);
}
- 最後にアプリを再起動します。
注意事項¶
- 特殊なキー:
track_id(追跡機能に使用されます)。 - ユーザーが
globalContextで追加したカスタムタグが SDK のデフォルトタグと同一の場合、SDK のタグがユーザー設定値を上書きします。 - SDK 初期化設定の
globalContextと同じキーを使用しないでください。同名の場合、初期化設定の静的タグが動的に追加されたタグより優先されます。 - タグ名にはプロジェクトの略称プレフィックスを追加することを推奨します(例:
df_tag_name)。 - 共有ルールの説明は競合フィールドの説明を参照してください。