iOS SDK 集成指南

iOS SDK 集成指南

1 初始化 SDK

  • 卓信ID SDK是从GTSDK 2.6.6.0版本时默认集成

  • 开发者需要在APP的 Info.plist ⽂件中配置服务商提供的 channelId, key为 ZX_CHANNEL_ID,
    value为 C01-GEztJH0JLdBC, 如下所示:

  • ⾸次初始化 SDK 时将触发权限弹窗(可以关闭权限弹窗)。当⽤户选择”允许“,则继续⽣成卓信ID,否则将停⽌。如下图:
  • 如果关闭弹窗, 卓信相关能⼒声明需要在 对外隐私协议中 透出
#import <ZXSDK/ZXSDK.h>
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // 设置是否提示权限弹窗; YES:提示(默认) NO:不提示
    [ZXSDK allowPermissionDialog:NO];
    [ZXSDK startZXSDK];
    return YES;
}

2 获取卓信ID

  • 开发者获取卓信ID, 必须在启⽤ SDK 后调⽤
  • appAid(aaid): 标识APP级别的,只在相同APP之间不变
  • venderAid(vaid): 标识开发者级别的,相同开发者的多款APP之间不变
  • tags: 分为基础设备标签和扩展设备标签, 此处只返回基础设备标签
/// @interface ZXSDKResultModel : NSObject
/// @property (nonatomic, copy, nonnull) NSString *zxid; 卓信id
/// @property (nonatomic, copy, nonnull) NSString *expireTime; 卓信id过期时间
/// @property (nonatomic, copy, nullable) NSArray *tags; 基础设备标签
/// @property (nonatomic, copy, nullable) NSString *aaid; 
/// @property (nonatomic, copy, nullable) NSString *vaid;
[ZXSDK getZXID:^(ZXSDKResultModel * _Nullable model, NSError * _Nullable error) {
 NSLog(@"getZXID ID:%@ 失效时间:%@ error:%@", model.zxid, model.expireTime, error);
}];

注: 如已开通 AID 能⼒, 默认是不加密返回, 如需设置加密(防⽌其他⽅获取到⾃⼰的 aids ), 需要在
Info.plist ⽂件中设置参数, key为 ZX_IS_PRIVACY , value为 boolean 类型(YES:加密;
NO:不加密), 如下所示:


注: 具体加解密使⽤⽅式,会在官⽹申请开通后给到相关信息

3 获取UAID

  • 开发者获取UAID, 必须在启⽤ SDK 后调⽤

参数说明:

参数名 类型 说明
accessKeyId NSString 通过卓信管理后台申请分配的密钥标识
signature NSString 信息签名字符串
signatureMethod NSString 信息签名⽅法,⽬前固定为 HMAC-SHA256
signatureNonce NSString 64 字节以内的随机串,⽤于防⽌重放攻击,每次请求必须提供不同的值
timestamp NSString UTC时间戳,从UTC1970年1⽉1⽇0时0分0秒起⾄现在的总秒数。如 1632634877

注: 具体参数获取⽅式及认证规则,会在官⽹申请UAID开通后给到相关信息

[ZXSDK getUAIDWithAccessKeyId:@"#accessKeyId#"
        signature:@"#signature#"
        signatureMethod:@"#signatureMethod#"
        signatureNonce:@"#signatureNonce#"
        timestamp:@"#timestamp#" callback:^(NSString * _Nullable uaid, NSError * _Nullable error) {
    NSLog(@"getUAID1 ID:%@ error:%@", uaid, error);
}];

4 获取设备标签

  • 开发者获取设备标签。
  • 设备标签分为基础设备标签和扩展设备标签,扩展设备标签需单独申请开通。
  • 未开通扩展标签时,得到的基础标签与 获取卓信ID 中返回的 tags 相同,⽆需重复调⽤此⽅法
[ZXSDK getTag:^(NSDictionary * _Nullable res, NSError * _Nullable error) {
    NSLog(@"%@", [NSString stringWithFormat:@"获取tag: %@, error: %@", res, error]);
}];

示例返回结果(⽬前返回以下三个基础标签, 每个标签分⾼中低三档显示)

{
 "tags": [
 {
 "tagCode": "1",
 "tagName": "疑似刷机",
 "level": "中⻛险"
 },
 {
 "tagCode": "2",
 "tagName": "疑似刷量",
 "level": "低⻛险"
 },
 {
 "tagCode": "3",
 "tagName": "疑似模拟器",
 "level": "⾼⻛险"
 }
 ]
}
开发者中心 SDK 下载

文档中心搜索

技术
咨询

微信扫一扫

随时联系技术支持

在线
咨询