跳转至

自定义标签使用

静态使用

可采用创建多 Configurations,使用预编译指令进行设置值:

  1. 创建多 Configurations

  1. 设置预设属性来区分不同 Configurations

  1. 使用预编译指令
// Target -> Build Settings -> GCC_PREPROCESSOR_DEFINITIONS 进行配置预设定义
#if PRE
#define Track_id       @"0000000001"
#define STATIC_TAG     @"preprod"
#elif  DEVELOP
#define Track_id       @"0000000002"
#define STATIC_TAG     @"common"
#else
#define Track_id       @"0000000003"
#define STATIC_TAG     @"prod"
#endif

FTRumConfig *rumConfig = [[FTRumConfig alloc] init];
rumConfig.globalContext = @{@"track_id":Track_id,@"static_tag":STATIC_TAG};
... // 其他设置操作
[[FTSDKAgent sharedInstance] startRumWithConfigOptions:rumConfig];

动态使用

因 RUM 启动后设置的 globalContext 不会生效,用户可自行本地保存,在下次应用启动时进行设置生效。

  1. 通过存文件本地保存,例如 NSUserDefaults,配置使用 SDK 时,在配置处添加获取标签数据的代码。
NSString *dynamicTag = [[NSUserDefaults standardUserDefaults] valueForKey:@"DYNAMIC_TAG"] ?: @"NO_VALUE";

FTRumConfig *rumConfig = [[FTRumConfig alloc] init];
rumConfig.globalContext = @{@"dynamic_tag":dynamicTag};
... // 其他设置操作
[[FTSDKAgent sharedInstance] startRumWithConfigOptions:rumConfig];
  1. 在任意处添加改变文件数据的方法。
[[NSUserDefaults standardUserDefaults] setValue:@"dynamic_tags" forKey:@"DYNAMIC_TAG"];
  1. 最后重启应用生效。

注意

  1. 特殊 key:track_id(在 RUM 中配置,用于追踪功能)
  2. 当用户通过 globalContext 添加自定义标签与 SDK 自有标签相同时,SDK 标签会覆盖用户设置的值,建议标签命名添加项目缩写前缀,例如 df_tag_name
  3. 在调用 -startRumWithConfigOptions 方法启动 RUM 前设置 globalContext 才能生效
  4. FTSDKConfig 中配置的自定义标签将添加在所有类型的数据中

更多详细细节,可参考 SDK Demo

文档评价

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