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: 分为基础设备标签和扩展设备标签, 此处只返回基础设备标签(扩展标签参考 2.3.5获取设备标签 API)

  • 示例代码:
/// @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:不加密), 如下所示:

注: 具体加解密使用方式,会在申请 AID 服务开通后给到相关信息

3 获取 SAID

  • 开发者获取 SAID, 必须在启用 SDK 后调用。
  • 参数说明:
参数名 类型 说明
accessKeyId NSString 通过服务申请后分配的密钥标识
signature NSString 信息签名字符串
signatureMethod NSString 信息签名方法,目前固定为 HMAC-SHA256
signatureNonce NSString 64 字节以内的随机串,用于防止重放攻击,每次请求必须提供不同的值
timestamp NSString UTC时间戳,从UTC1970年1月1日0时0分0秒起至现在的总秒数。如 1632634877

注: 具体参数获取方式及认证规则,会在申请 SAID 服务开通后给到相关信息

  • 示例代码:
[ZXSDK getSAIDWithAccessKeyId:@"#accessKeyId#"
                    signature:@"#signature#"
              signatureMethod:@"#signatureMethod#"
               signatureNonce:@"#signatureNonce#"
                    timestamp:@"#timestamp#" callback:^(NSString * _Nullable said, NSError * _Nullable error) {
     NSLog(@"getSAID1 ID:%@ error:%@", said, error);
}];

4 获取 SAID 预授权 token

集成方可以获得预取号token, 由集成方主动调用卓信服务端接口来换取 SAID

[ZXSDK getAuthToken:^(NSString * _Nullable token, NSError * _Nullable error) {
     NSLog(@"%@ ---- %@", token, error);
}];

5 获取设备标签

  • 开发者获取设备标签。
  • 设备标签分为基础设备标签和扩展设备标签,扩展设备标签需单独申请开通。
  • 未开通扩展标签时,得到的基础标签与 获取卓信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 下载

文档中心搜索

技术
咨询

微信扫一扫

随时联系技术支持

在线
咨询