Data Masking¶
If you wish to fully mask a field, it is recommended to use FTMobileConfig.dataModifier, which offers better performance. For detailed rule replacement, it is recommended to use FTMobileConfig.lineDataModifier.
Do not use complex or high-latency methods in callback functions, as this will significantly impact the SDK's data writing performance.
FTMobileConfig *config = [[FTMobileConfig alloc]initWithDatakitUrl:DatakitUrl];
config.dataModifier = ^id _Nullable(NSString * _Nonnull key, id _Nonnull value) {
if ([key isEqualToString: @"device_uuid"]) {
return @"xxx";
}
return nil;
};
config.lineDataModifier = ^NSDictionary<NSString *,id> * _Nullable(NSString * _Nonnull measurement, NSDictionary<NSString *,id> * _Nonnull data) {
if ([measurement isEqualToString:@"view"]) {
return @{@"view_url":@"xxx"};
}
return nil;
};
let config = FTMobileConfig(datakitUrl: DatakitUrl)
config.dataModifier = { (key: String, value: Any) -> Any? in
if key == "device_uuid" {
return "xxx"
}
return nil
}
config.lineDataModifier = { (measurement: String, data: [String: Any]) -> [String: Any]? in
if measurement == "view" {
return ["view_url": "xxx"]
}
return nil
}