跳转至

自定义标签使用

静态使用

  1. 拆分原有的 main.dart 为两个部分,一部分为 main(),一部分为 App() MaterialApp 组件
  2. 建立各个环境对应的入口文件,例如:main_prod.dartmain_gray.dart
  3. 在对应环境入口中进行自定义标签配置
/// 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 不会立即作用于已启动配置,动态标签通常通过本地持久化,在下次应用启动时生效。

  1. 通过文件类型数据(如 shared_preferencesSharedPreferences)保存标签数据,并在 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},
);
  1. 在任意处添加改变文件数据的方法
static Future<void> setDynamicParams(String value) async {
  final prefs = await SharedPreferences.getInstance();
  prefs.setString(CUSTOM_DYNAMIC_TAG, value);
}
  1. 最后重启应用

注意事项

  1. 特殊 key:track_id,用于追踪功能
  2. 当用户通过 globalContext 添加自定义标签与 SDK 自有标签相同时,SDK 标签会覆盖用户设置的值
  3. 建议标签命名添加项目缩写前缀,例如 df_tag_name
  4. 共享规则说明请查阅 冲突字段说明

文档评价

文档内容是否对您有帮助? ×