最近更新时间:2023.05.25 11:18:54
首次发布时间:2021.02.23 10:41:56
填写白名单,手动输入的UUID、SSID数字较长(如:ssid="a0166a58-137a-410c-af02-04acc905edc9"),容易出错且不方便。因此对移动端的应用(iOS、Android),支持扫描二维码来录入设备ID。
在系统管理-受众白名单,点击“创建白名单”,如下图:
在创建实验-第四步选择目标受众-添加/填写白名单,点击“扫二维码录入”,如下:
弹窗显示如下:
在创建feature-第三步选择发布受众-添加/填写白名单,点击“扫二维码录入”,如下:
以上关于“UUID/SSID”,客户在应用接入的时候,会确定用户使用那个类型的ID,因此需要根据当前应用的ID来分别显示对应的UUID或者SSID。
若无法获取“UUID/SSID”,可参照如下流程进行检查:
final InitConfig config = new InitConfig("2174","【您的App渠道号】"); config.setAutoStart(true); config.setUriConfig(UriConfig.DEFAULT); config.setPicker(new Picker(this, config)); config.setAbEnable(true); // 开启ABTest AppLog.init(this, config);
请在App启动完成的时候,就初始化配置(如果在页面展示完毕之后 才初始化配置,会导致部分事件采集有缺失)。
#import <RangersAppLog/BDAutoTrack.h> #import <RangersAppLog/BDAutoTrackConfig.h> #import <RangersAppLog/BDAutoTrackURLHostItemCN.h> - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { /* 初始化开始 */ BDAutoTrackConfig*config =[BDAutoTrackConfig configWithAppID:@"appid"]; //您申请APPID,如不清楚请联系专属客户成功经理 config.serviceVendor = BDAutoTrackServiceVendorCN; //数据上报 config.appName = @"your appName"; 与您申请APPID时的app_name一致 config.channel = @"App Store"; // iOS一般默认App Store config.abEnable = YES; //开启ab测试,默认为YES config.showDebugLog = NO; // 是否在控制台输出日志,仅调试使用,需要同时设置logger。release版本请设置为 NO //config.logger = ^(NSString * _Nullable log) {NSLog(@"%@",log);}; //如果 showDebugLog设置为 YES 请打开这里的注释 config.logNeedEncrypt = YES; // 是否加密日志,默认加密。release版本请设置为 YES config.autoTrackEnabled = YES; //是否开启全埋点采集用于圈选功能 [BDAutoTrack startTrackWithConfig:config]; /* 初始化结束 */ }
swift:
import RangersAppLog func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { // Override point for customization after application launch. let config = BDAutoTrackConfig(appID: "your appID") // 如不清楚请联系专属客户成功经理 config.appName = "your app name" // 与您申请APPID时的app_name一致 config.serviceVendor = BDAutoTrackServiceVendorCN; //数据上报 config.channel = "App Store" // iOS一般默认App Store config.showDebugLog = false // 是否在控制台输出日志,仅调试使用。release版本请设置为 false //config.logger = { (log) inprint(log ?? "log is nil")} // 如果设置了 showDebugLog = true 请打开这里的注释 config.logNeedEncrypt = true // 是否加密日志,默认加密。release版本请设置为 true config.autoTrackEnabled = true //是否开启全埋点采集用于圈选功能 BDAutoTrack.start(with: config) return true }
在module级别的build.gradle中,添加url scheme:
// 在android的defaultConfig中添加 manifestPlaceholders.put("APPLOG_SCHEME", "".toLowerCase())
在应用信息中找到URL Scheme:
将URL Scheme添加到你的项目中:
如果是iOS 13,重写UISceneDelegate的回调方法:
#import <RangersAppLog/BDAutoTrackSchemeHandler.h> - (void)scene:(UIScene *)scene openURLContexts:(NSSet<UIOpenURLContext *> *)URLContexts { for (UIOpenURLContext *context in URLContexts) { NSURL *URL = context.URL; if ([[BDAutoTrackSchemeHandler sharedHandler] handleURL:URL appID:@"appid" scene:scene]) { continue; } /// …… } }
Swift:
import RangersAppLog func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool { if(BDAutoTrackSchemeHandler.shared().handle(url, appID: "appid", scene: nil)) { return true } return false }
如果iOS版本低于13,则重写UIApplicationDelegate的回调方法
#import <RangersAppLog/BDAutoTrackSchemeHandler.h> - (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey, id> *)options { if ([[BDAutoTrackSchemeHandler sharedHandler] handleURL:url appID:@"appid" scene:nil]) { return YES; } /// …… return NO; }
在project级别的build.gradle中,添加引用:
// 在buildscript的dependencies中添加 classpath 'com.bytedance.applog:RangersAppLog-All-plugin:5.2.0'
在module级别的build.gradle中,添加引用:
// 在文件开头添加 apply plugin: 'com.bytedance.std.tracker'
和
// 在dependencies中添加 implementation 'com.bytedance.applog:RangersAppLog-All-cn:5.2.0' // 如需符合GDPR请更改为 // implementation 'com.bytedance.applog:RangersAppLog-All-global:5.2.0'
在Podfile中,确认集成版本≥5.2.0,且所选子库包含'Picker', 'UITracker'