iOS — Adjust 事件追踪
模块:ROTrackingAdjust;实际状态:源码在 roios-sdk/main,独立 XCTest/Pod/模拟器构建通过,尚未发布生产 Split Tag,真实游戏和 Adjust 沙盒上报未验收。
开发阶段依赖
ruby
# 在 roios-sdk 的本地示例中引用;正式应用应锁定模块正式发行 Tag。
pod 'ROTrackingAdjust', :path => '<本机roios-sdk>/Modules/ROTrackingAdjust'官方 Adjust iOS 依赖通过 Podspec 锁定 Adjust = 5.8.0。正式 App 必须自行配置隐私告知和授权策略。
原生宿主注册示例
objc
ROAdjustEventRule *rule = [[ROAdjustEventRule alloc]
initWithToken:nativeRegisteredEventToken
policy:ROAdjustPolicyOncePerAccount
allowedCallbackKeys:[NSSet setWithArray:@[@"channel"]]];
ROAdjustNativeConfig *config = [[ROAdjustNativeConfig alloc]
initWithAppToken:appTokenFromSecureConfiguration
sandbox:YES registryVersion:@"events-v1"
storageNamespace:@"game.company.example"
rules:@{@"login_success": rule}];
NSError *error = nil;
BOOL started = [[ROTrackingAdjust sharedTracker]
startWithConfiguration:config error:&error];游戏只能传事件名和参数;由原生宿主确定 token。没有注册的事件直接丢弃,token 等参数不会透传。需在宿主既有 Platform : SDKDelegate 的 doTracking 中调用 trackEvent:parameters:scope:completion:,不要直接修改底座 JS 协议。
去重与回调
支持始终发送、安装一次、账号一次、角色一次、交易一次。后四者按本机存储做持久化去重;账号/角色/交易 scope 缺失会拒绝。即使回调为 ROAdjustTrackStatusSubmitted,也仅表示尝试提交给 SDK,不代表网络送达。iOS 不使用 Keychain 保存安装标识;重装、备份恢复差异仍需真机验收。