1. init : 初始化 SDK

APP启动时最先调用该接口初始化SDK,推荐在 Application onCreate 中调用(也可以选择在其他代码块调用,前提是保证 init 方法最先被执行)。

请求 / Request :

字段 类型 是否必须 说明
context Context

响应 / Response :

类型 是否必须 说明
void 无数据返回

示例 :

public class MyApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        ZXManager.init(this);       
    }
}

2. allowPermissionDialog : 设置SDK授权弹框开关

开发者可以调用该接口控制卓信ID授权弹框,对卓信SDK的授权弹框开关进行控制。如果关闭授权弹框,在ZXManager.checkPermission()接口调用时,SDK不会自动触发弹框,可以由开发者自行管理卓信ID授权过程。

请求 / Request :

字段 类型 是否必须 说明
enable boolean 是否启用授权弹窗
默认值: true

响应 / Response :

类型 是否必须 说明
void

3. checkPermission : 检查用户授权状态

如果开发者设置了 allowPermissionDialog(false) 则可以不用此方法检查权限。默认情况下,建议开发者先通过本方法来检查用户授权状态,确保用户授权后,再使用 ZXManager 的其他API。checkPermission 会检查用户授权状态,如果未曾向用户弹窗授权, 则会弹窗请求授权, 并且根据用户授权选择来回调 onAuthorizedonUnauthorized。如果用户已经弹窗授权过了, 则不会弹窗请求用户授权, 而会根据之前用户授权情况回调(之前已授权则会回调 onAuthorized ,反之回调 onUnauthorized )。

请求 / Request :

字段 类型 是否必须 说明
activity Activity dialog显示需要
listener PermissionCallback 已授权:onAuthorized();
未授权:onUnauthorized()

响应 / Response :

类型 是否必须 说明
void 无数据返回

示例 :

ZXManager.checkPermission(this, new PermissionCallback() {
    @Override
    public void onAuthorized() {
        Log.d("用户已授权");
    }
    @Override
    public void onUnauthorized() {
         Log.e("用户未授权");    
       }
});

4. getZXID : 获取卓信ID

建议开发者先通过 ZXManager.checkPermission(activity, callback) 检查用户授权状态,并且在 callbackonAuthorized 回调中再去使用 getZXID 获取卓信ID, onSuccess() 回调中得到卓信ID,否则在 onFailed() 回调方法中会反馈错误原因。

返回的 ZXID 对象中包含 zxid、appAid、venderAid、tags、openid 等相关信息。

其中 appAid、venderAid 需要开发者单独申请开通,并且 appAid、venderAid 需要单独解密(具体使用方式会在开发者申请 AID 服务开通后给到相关信息);

tags 目前返回三类基础设备标签以及四类基础应用标签,其中基础设备标签包含 疑似刷量疑似新机疑似模拟器, 且每类分别有高中低三档风险级别;基础应用标签包含 新增重复(多开)更新召回

openid 即增补ID,同下面 getOpenID 接口,注:openid 需开通后才能返回。

请求 / Request :

字段 类型 是否必须 说明
listener ZXIDListener 成功:
onSuccess(ZXID zxid)
失败:
onFailed(int code, String msg)

响应 / Response :

类型 是否必须 说明
void 无数据返回

示例(以 APP 开发者使用为例):

ZXManager.getZXID(new ZXIDListener() {
    @Override
    public void onSuccess(ZXID zxid) {
        String text = "卓信ID: " + zxid.getValue() + '\n' +

                    "appAid: " + 
                    zxid.getAids().optString("appAid", null) + '\n' +

                    "venderAid: " + 
                    zxid.getAids().optString("venderAid", null) + '\n' +
                    // 获取增补ID,同下面 getOpenID 接口返回
                    "openid: " + zxid.getOpenid() + '\n' +

                    "tag 基础标签: " + zxid.getTags() + '\n' +

                    "失效时间: " + 
                    dateFormat.format(zxid.getExpiredTime()) + '\n' +

                    "SDK版本: " + ZXManager.getVersion();

        Log.d("ZXID-onSuccess", "卓信ID:" + text);
    }
    @Override
    public void onFailed(int code, String msg) {
         Log.e("ZXID-onFailed", "错误码: " + code + "\n错误信息: " + msg + 
                 "\nsdk版本: " + ZXManager.getVersion());    
     }
});

5. isEnable : 查询开关状态

开发者可以调用该接口获取当前卓信SDK工作状态,应用设置中的卓信ID开关状态需要和卓信SDK工作状态保持一致。只有当用户在卓信SDK的卓信ID授权框中点击了允许,卓信SDK的工作状态才会为 enable

请求 / Request :

字段 类型 是否必须 说明

响应 / Response :

类型 是否必须 说明
boolean 当前SDK工作状态

6. setEnable : 设置开关状态

用户在应用设置界面中操作卓信ID开关时,开发者可以调用该接口对卓信SDK的开关状态进行重新设置。

请求 / Request :

字段 类型 是否必须 说明
enable boolean

响应 / Response :

类型 是否必须 说明
void

7. getVersion : 获取SDK版本号

开发者可以调用该接口获取当前卓信SDK版本号。

请求 / Request :

字段 类型 是否必须 说明

响应 / Response :

类型 是否必须 说明
String 当前SDK版本号。
对于生产环境SDK,将返回类似 zxid-2.0.2.xxxx 形式的字符串;
对于沙盒环境SDK,将返回类似 zxid-2.0.2.xxxx-sandbox 形式的字符串。

8. isAllowPermissionDialog : 查询SDK授权弹框开关

开发者可以调用该接口查询SDK是否控制授权弹框。

请求 / Request :

字段 类型 是否必须 说明

响应 / Response :

类型 是否必须 说明
boolean 当前是否由SDK控制授权弹框

9. setDebug : 设置调试模式

开发者可以调用该接口控制SDK的调试模式开关,在调试模式下,SDK会在控制台输出运行日志,帮助开发者排查集成问题。建议在正式上线时,关闭调试模式。

请求 / Request :

字段 类型 是否必须 说明
enable boolean 是否启用授权弹窗
默认值: true

响应 / Response :

类型 是否必须 说明
void

10. getSAID : 获取 SAID

开发者可以调用该接口来获取SAID。

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

请求 / Request :

字段 类型 是否必须 说明
accessKeyId String 通过服务申请后分配的密钥标识
signatureMethod String 信息签名方法,目前固定为 HMAC-SHA256
signatureNonce String 64 字节以内的随机串,用于防止重放攻击,每次请求必须提供不同的值
timestamp String UTC时间戳,从UTC 1970年1月1日0时0分0秒起至现在的总秒数。如 1632634877
signature String 信息签名字符串,参考 server/examples/ 中的签名方式。
listener SAIDCallback 成功:
onSuccess(String said)
失败:
onFailed(int code, String msg)

响应 / Response :

类型 是否必须 说明
void 无数据返回

示例(以 APP 开发者使用为例):

ZXManager.getSAID("---填入对应的 accessKeyId ---",
                  "---填入对应的 signatureMethod ---",
                  "---填入对应的 signatureNonce ---",
                  "---填入对应的 timestamp ---",
                  "---填入对应的 signature ---",
                  new SAIDCallback() {
    @Override
    public void onSuccess(String said) {
        Log.d("SAID-onSuccess", "SAID: " + said);
    }
    @Override
    public void onFailed(int code, String msg) {
         Log.e("SAID-onFailed", "错误码: " + code + "\n错误信息: " + msg);    }
});

11. getAuthToken : 获取 SAID 预授权码

开发者可以调用该接口来获取 SAID 预授权码 authToken,然后通过 authToken 以 Server to Server 的方式来卓信服务端换取 SAID。

请求 / Request :

字段 类型 是否必须 说明
listener Callback 成功:
onSuccess(String authToken)
失败:
onFailed(int code, String msg)

响应 / Response :

类型 是否必须 说明
void 无数据返回

示例(以 APP 开发者使用为例):

ZXManager.getAuthToken(new Callback() {
    @Override
    public void onSuccess(String authToken) {
        Log.d("getAuthToken-onSuccess", authToken);
    }
    @Override
    public void onFailed(int code, String msg) {
        Log.e("getAuthToken-onFailed", msg);
});

12. addZXIDChangedListener : 设置 ZXID 的监听器

开发者可以调用该接口来监听 ZXID 的变化。

请求 / Request :

字段 类型 是否必须 说明
listener ZXIDChangedListener onChange(ZXID zxid)

响应 / Response :

类型 是否必须 说明
void 无数据返回

示例 :

ZXManager.addZXIDChangedListener(new ZXIDChangedListener() {
    @Override
    public void onChange (ZXID zxid) {
        String text = "卓信ID: " + zxid.getValue() + '\n' +
                    "appAid: " + zxid.getAids().optString("appAid", null) + '\n' +
                    "venderAid: " + zxid.getAids().optString("venderAid", null) + '\n' +
                    "失效时间: " + dateFormat.format(zxid.getExpiredTime()) + '\n' +
                    "SDK版本: " + ZXManager.getVersion();
         Log.d("ZXID-onChange", "卓信ID:" + text);
    }
});

13. getTag : 获取设备标签

开发者获取设备标签(基础设备标签和扩展设备标签),扩展设备标签需单独申请开通,未开通时,得到的标签同 getZXID 中 tags 返回是⼀样的,开发者如未开通扩展标签,⽆需重复调⽤此⽅法,建议直接使⽤ getZXID 中 tags 即可 。

请求 / Request :

字段 类型 是否必须 说明
callback Callback 注册 tags 回调监听

响应 / Response :

类型 是否必须 说明
void 无数据返回

示例 :

ZXManager.getTag(new Callback() {
    @Override
    public void onSuccess(String data) {
        Log.d(TAG, "ZXID-getTag, " + data);
    }
    @Override
    public void onFailed(int code, String msg) {
        Log.d(TAG, "ZXID-getTagError, " + "错误码: " + code + '\n' + "错误信息: " + msg + '\n');
    }
});

14. getOpenID : 获取 openid

开发者可以调用该接口来获取增补ID,即 openid(需开通才能使用)。

请求 / Request :

字段 类型 是否必须 说明
listener Callback 成功:
onSuccess(String openid)
失败:
onFailed(int code, String msg)

响应 / Response :

类型 是否必须 说明
void 无数据返回

示例(以 APP 开发者使用为例):

ZXManager.getOpenID(new Callback() {
    @Override
    public void onSuccess(String openid) {
        Log.i("ZXID-OpenID-Suc", "openid:" + openid);
    }

    @Override
    public void onFailed(int code, String msg) {
        Log.i(TAG, "ZXID-OpenID-Err, code: " + code + ", message: " + msg);
    }
});
开发者中心 SDK 下载

文档中心搜索

技术
咨询

微信扫一扫

随时联系技术支持

在线
咨询