# 合规接口(必接)

# 1、接口说明

主要用于国内合规时调用的协议接口,包括:用户协议、隐私协议、儿童隐私保护指引、第三方SDK目录共享清单、个人信息收集清单、个人信息和隐私保护。

其中,第三方SDK目录共享清单、个人信息收集清单和个人信息和隐私保护,必须在产品的二级目录增加入口以进行调用。

# 2、接口调用

# 2.1、账号注销接口(海外必接)

DANGER

  • 国内选接,海外必接,SDK的个人信息和隐私保护界面已包含注销入口,游戏可以不单独调用接口进行注销**。
  • 该接口用于游戏定制注销按钮时使用,账号注销接口并非退出登录接口,但回调结果和退出登录一致。游戏调用此接口后,SDK会弹出注销确认界面,一旦注销成功,将无法再找回账号

回调对象示例如下:

import com.dh.DHSDKHelper;
import com.dh.callback.IDHSDKCallback;
import com.dh.framework.utils.DHPluginParam;

String params = "{}";
try {
    params = new JSONObject()
        .put("pluginName", "tools")              // 固定
        .put("pluginType", "platform")           // 固定
        .put("methodName", "destroyAccount")     // 固定
        .toString();
} catch (Throwable e) {
    e.printStackTrace();
}

/**
 * @param activity    上下文
 * @param param       接口参数
 * @param sdkCallback 回调对象
 */
DHSDKHelper.getInstance().exec(activity, params, gameUnifiedCallback);

回调对象示例如下:

import com.dh.DHSDKConst;
import com.dh.callback.IDHSDKCallback;

public class GameUnifiedCallback implements IDHSDKCallback {
    @Override
    public void onDHSDKResult(int requestCode, int resultCode, String resultData) {
        switch (requestCode) {
            // 若要区分退出登录还是账号注销
            // 调用注销接口时单独创建回调对象来区分!
            case DHSDKConst.REQ_LOGIN_OUT:
                if (resultCode == DHSDKConst.RET_OK) {
                    // 注销成功,需要退出登录
                } else if (resultCode == DHSDKConst.RET_FAIL) {
                    // 注销失败,用户放弃注销
                }
                break;
            default:
                // 其他结果
                break;
        }
    }
}

注销成功,回调数据说明如下:

回调数据为文本提示或其他结构,接入方无需解析,请参考退出登录回调,游戏在收到回调后应返回登录页面。

# 2.2、协议政策接口

用户协议、隐私政策、儿童隐私保护指引和第三方SDK目录共享清单

调用代码示例如下:

import com.dh.DHSDKHelper;

import org.json.JSONObject;

String params = "{}";
try {
    params = new JSONObject()
        .put("pluginName", "tools")                   // 固定
        .put("pluginType", "platform")                // 固定
        .put("methodName", "showPolicyDialogByKey")   // 固定
        .put("methodEvent", "dh_user_server")         // 分类,请按照下表指定参数值
        .toString();
} catch (Throwable e) {
    e.printStackTrace();
}

/**
 * @param activity    上下文
 * @param param       接口参数
 * @param sdkCallback 回调对象
 */
DHSDKHelper.getInstance().exec(activity, params, gameUnifiedCallback);

分类信息,主要参数说明如下:

分类 参数值
网络用户服务协议 dh_user_server
网络用户隐私政策 dh_user_private
儿童隐私保护指引 dh_child_private
第三方SDK目录共享清单 other_sdk_menu

# 2.3、信息清单接口

个人信息与隐私保护、个人信息收集清单

TIP

个人信息和隐私保护中包含账号注销功能,需要游戏开发人员针对账号注销回调进行处理,并在登出账号后返回登录页面。请参考账号注销接口的返回结果。

调用代码示例如下:

import com.dh.DHSDKHelper;
import com.dh.callback.IDHSDKCallback;
import com.dh.framework.utils.DHPluginParam;

String params = "{}";
try {
    params = new JSONObject()
        .put("pluginName", "tools")                  // 固定
        .put("pluginType", "platform")               // 固定
        .put("methodName", "showWebviewByKey")       // 固定
        .put("methodEvent", "personalInformation")   // 分类,请按照下表指定参数值
        .put("methodParam", new JSONObject()
            .put("areaId", 100)                      // 大区ID
            .put("roleId", "100002")                 // 角色ID
            .toString())
        .toString();
} catch (Throwable e) {
    e.printStackTrace();
}

/**
 * @param activity    上下文
 * @param param       接口参数
 * @param sdkCallback 回调对象
 */
DHSDKHelper.getInstance().exec(activity, params, gameUnifiedCallback);

分类信息,主要参数说明如下:

分类 参数值
个人信息收集清单 serviceCenter
个人信息与隐私保护 personalInformation

其他信息,主要参数说明如下:

参数 类型 必传字段 统一字段 说明
areaId int 大区ID
roleId String 角色ID
Last Updated: 2024/11/14 16:00:26