数据采集上报SDK。具体支持功能见官网 https://datarangers.com.cn/
Example工程1
git clone git@github.com:bytedance/RangersAppLog.git
cd RangersAppLog/Example
pod install
open Example.xcworkspace
Example工程2
git clone git@github.com:bytedance/RangersAppLog.git
cd RangersAppLog/ObjCExample
pod install
open ObjCExample.xcworkspace
特别说明,只支持XCode 11+ 打包开发。若使用的Xcode版本为11以下,请单独联系开发提供SDK包
- iOS 9.0+
- XCode 11.0+
- Lite版,埋点版本,即
subspecs => ['Core','Log', 'Host/CN']
,如果需要采集IDFA,子库需要添加Unique
- 圈选版本,即
subspecs => ['Picker', 'Host/CN']
如果需要采集IDFA,子库需要添加Unique
建议使用Cocoapods接入。可以参照下面的实例和Demo工程中的Podfile。
# cdn trunk
source 'https://cdn.cocoapods.org/'
## or use ssh
# source 'git@github.com:CocoaPods/Specs.git'
source 'git@github.com:bytedance/cocoapods_sdk_source_repo.git'
source 'https://github.com/volcengine/volcengine-specs.git' # 6.0.0+版本发布在volcengine-specs源
# 接入无埋点版本
target 'YourTarget' do
pod 'RangersAppLog', '~> 5.6.6',:subspecs => [
'Picker',
'Unique', # 若需要采集IDFA,则引入Unique子库
'Host/CN' # 若您的APP的数据存储在**, 则选择 Host/CN。否则请根据地域选择相应 Host 子库
]
end
# 接入埋点版本
target 'YourTarget' do
pod 'RangersAppLog', '~> 5.6.6',:subspecs => [
'Core',
'Log',
'Unique', # 若需要采集IDFA,则引入Unique子库
'Host/CN' # 若您的APP的数据存储在**, 则选择 Host/CN。否则请根据地域选择相应 Host 子库
]
end
更多接口参见头文件,和Demo工程.
#import <RangersAppLog/RangersAppLog.h>
- (void)startAppLog {
BDAutoTrackConfig *config = [BDAutoTrackConfig new];
config.appID = @"159486";
config.appName = @"dp_tob_sdk_test2";
config.channel = @"App Store";
config.autoTrackEnabled = YES; // 本地无埋点开关。注意使用无埋点时,必须在远端配置中也打开无埋点开关。
config.showDebugLog = YES; // show debug log
config.logger = ^(NSString * _Nullable log) {
NSLog(@"%@",log);
};
[BDAutoTrack startTrackWithConfig:config];
NSString *uniqueID = @"12345"; // set UserUniqueID if now is loged in
[BDAutoTrack setCurrentUserUniqueID:uniqueID];
[BDAutoTrack eventV3:@"play_video" params:nil]; // 打点
}
- (void)logout {
[self.track clearUserUniqueID];
}
- (void)login {
/// change to your UserUniqueID
NSString *uniqueID = @"12345";
[self.track setCurrentUserUniqueID:uniqueID];
}
+ (void)eventV3:(NSString *)event params:(NSDictionary *)params {
[self.track eventV3:event params:params];
}
#import <RangersAppLog/RangersAppLog.h>
/// 如果是iOS 13中重写UISceneDelegate的回调,则参考以下code
- (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;
}
/// your handle code for the URL
}
}
/// 如果是系统版本小于iOS 13,需要重写UIApplicationDelegate的回调方法,参考以下code
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey, id> *)options {
if ([[BDAutoTrackSchemeHandler sharedHandler] handleURL:url appID:@"appid" scene:nil]) {
return YES;
}
/// your handle code
return NO;
}
- Feat: 支持ALink
- Feat: H5Bridge: H5页面支持从原生端上报
- Feat: 支持Profile独立路径接口上报
- Feat: 新增
setCustomHeaderWithDictionary:
接口 - Feat: 支持初始 UserUniqueID
- Fix: 切换用户时AB数据更新不及时的问题
- 新增CAID子库。引入CAID子库后自动开启CAID。合规提示:Core中不包含与CAID有关的符号。
- fix: 激活请求Query中缺少IDFA, IDFV等字段信息。
- 支持「首次启动事件标记」
- ohayoo预置埋点
- 新增一组初始化后立即获取AB配置缓存的方法。见
BDAutoTrack.h
以Sync
结尾的ABTest相关方法
- 支持bitcode
- 支持platform端属性
- 提供类方法单独初始化和单独启动SDK的接口。
+[BDAutoTrack sharedTrackWithConfig:]
+[BDAutoTrack startTrack]
- 上报流量优化
- 支持在开发调试阶段清除缓存。见
BDAutoTrackCacheRemover.h
(生产环境请勿使用) - bugfix
- bugfix: 修复激活url_safe base64相关问题
- 新增 profile API. 详见头文件
BDAutoTrack+Profile.h
- 移除移动端圈选。服务端圈选功能不受影响。建议您在平台的圈选页面上进行圈选,更加快捷方便。
- 加密开关支持加密query字段
- 数据库文件夹移动到
Library/
目录并改名 - 上报URL隔离到
Host/XX
子库中 - 适配iOS14注册需求
- 增加用户触点(touchPoint)功能和
setTouchPoint
等接口 - 新增一个Objective-C Example工程
- 修复私有化配置且打开加密开关的场景下,客户端尝试解密服务器明文回包从而导致未获取到回包数据的问题
- 默认移除IDFA,IDFA放到了子库
Unique
中
- 修复UUID变化上报不及时问题
- 新增接口