# 其它接口
# 查询隐私授权情况(选接)
# 接口说明
用于查询用户的隐私授权情况,例如是否需要用户授权隐私协议,以及隐私授权协议的名称。
sdkInstance.getPrivacySetting(options);
最低基础库版本要求
当用户的客户端基础库版本低于 2.32.3 时,调用 sdkInstance.getPrivacySetting(options) 接口将直接触发失败回调函数,并在正式版环境下于控制台输出错误提示(非正式版环境下,以弹窗形式展示)!
# 参数说明
参数说明如下表所示:
| 选项 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| success | function | 否 | -- | 接口调用成功的回调函数 |
| fail | function | 否 | -- | 接口调用失败的回调函数 |
| complete | function | 否 | -- | 接口调用完成的回调函数,成功或失败均会调用 |
# 返回值说明
WARNING
返回值格式:JSON 格式。
| 选项 | 类型 | 说明 |
|---|---|---|
| code | number | 响应状态码,为 0 时表示查询成功,其他非 0 状态码均表示查询失败 |
| data | object / null | 查询成功时返回隐私授权情况,失败时返回 null |
| data.needAuthorization | boolean | 是否需要用户授权隐私协议;若开发者未在《微信公众平台》中声明隐私收集类型,或用户之前已同意过隐私协议,则返回 false;若开发者声明了隐私收集类型,且用户还未同意过隐私协议,或用户之前同意过、但后来游戏又新增了隐私收集类型,则返回 true |
| data.privacyContractName | string | 隐私授权协议的名称 |
| message | string | 查询成功或失败时的相应描述信息 |
# 示例代码
注:示例代码中的参数或选项均为演示数据,仅供参考,谢谢!
// 当用户的客户端基础库版本低于 2.32.3 时,调用此接口将直接触发失败回调函数,并在正式版环境下于控制台输出错误提示(非正式版环境下,以弹窗形式展示)!
sdkInstance.getPrivacySetting({
success: function(response) {
console.log(response.data.needAuthorization); // 是否需要用户授权隐私协议
console.log(response.data.privacyContractName); // 隐私授权协议的名称
},
fail: function(error) {
console.log(error);
},
complete: function(result) {
// do something here...
}
});
# 跳转至隐私协议页面(选接)
# 接口说明
用于跳转至隐私协议页面;使用自定义隐私授权弹窗时,可在弹窗内提供查看隐私协议的入口,并在用户点击时调用此接口。
sdkInstance.openPrivacyContract(options);
最低基础库版本要求
当用户的客户端基础库版本低于 2.32.3 时,调用 sdkInstance.openPrivacyContract(options) 接口将直接触发失败回调函数,并在正式版环境下于控制台输出错误提示(非正式版环境下,以弹窗形式展示)!
# 参数说明
参数说明如下表所示:
| 选项 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| success | function | 否 | -- | 接口调用成功的回调函数 |
| fail | function | 否 | -- | 接口调用失败的回调函数 |
| complete | function | 否 | -- | 接口调用完成的回调函数,成功或失败均会调用 |
# 返回值说明
WARNING
返回值格式:JSON 格式。
| 选项 | 类型 | 说明 |
|---|---|---|
| code | number | 响应状态码,为 0 时表示打开成功,其他非 0 状态码均表示打开失败 |
| data | object / null | 打开成功时返回相应信息(因微信API原因,此处可能为空),失败时返回 null |
| message | string | 打开成功或失败时的相应描述信息 |
# 示例代码
注:示例代码中的参数或选项均为演示数据,仅供参考,谢谢!
// 当用户的客户端基础库版本低于 2.32.3 时,调用此接口将直接触发失败回调函数,并在正式版环境下于控制台输出错误提示(非正式版环境下,以弹窗形式展示)!
sdkInstance.openPrivacyContract({
success: function(response) {
console.log(response);
},
fail: function(error) {
console.log(error);
},
complete: function(result) {
// do something here...
}
});
# 触发隐私指引弹窗(选接)
# 接口说明
用于触发微信隐私保护指引弹窗。例如,开发者可以在调用任何真实隐私接口(如获取微信昵称、头像)之前调用此接口来模拟隐私接口调用,并触发微信隐私保护指引弹窗(包括自定义弹窗或平台弹窗)逻辑。
sdkInstance.requirePrivacyAuthorize(options);
最低基础库版本要求
当用户的客户端基础库版本低于 2.32.3 时,调用 sdkInstance.requirePrivacyAuthorize(options) 接口将直接触发失败回调函数,并在正式版环境下于控制台输出错误提示(非正式版环境下,以弹窗形式展示)!
# 参数说明
参数说明如下表所示:
| 选项 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| success | function | 否 | -- | 接口调用成功的回调函数 |
| fail | function | 否 | -- | 接口调用失败的回调函数 |
| complete | function | 否 | -- | 接口调用完成的回调函数,成功或失败均会调用 |
# 返回值说明
WARNING
返回值格式:JSON 格式。
| 选项 | 类型 | 说明 |
|---|---|---|
| code | number | 响应状态码,为 0 时表示调用成功,其他非 0 状态码均表示调用失败 |
| data | object / null | 调用成功时返回相应信息(因微信API原因,此处可能为空),失败时返回 null |
| message | string | 调用成功或失败时的相应描述信息 |
# 示例代码
注:示例代码中的参数或选项均为演示数据,仅供参考,谢谢!
// 当用户的客户端基础库版本低于 2.32.3 时,调用此接口将直接触发失败回调函数,并在正式版环境下于控制台输出错误提示(非正式版环境下,以弹窗形式展示)!
sdkInstance.requirePrivacyAuthorize({
showUpgradeMessage: true,
success: function(response) {
console.log(response);
},
fail: function(error) {
console.log(error);
},
complete: function(result) {
// do something here...
}
});
# 监听隐私授权事件(选接)
# 接口说明
用于监听隐私接口需要用户授权事件。注册该事件监听后,将启用自定义隐私授权弹窗模式:当用户还未同意过隐私协议,且游戏调用了隐私相关接口(如获取微信用户信息),或调用了 sdkInstance.requirePrivacyAuthorize(options) 接口时,将触发该事件;此时需由游戏自行弹出隐私授权弹窗,并在用户同意或拒绝授权后调用 resolve 通知微信,触发该事件的原隐私接口才会继续执行。
sdkInstance.onNeedPrivacyAuthorization(listener);
最低基础库版本要求
当用户的客户端基础库版本低于 2.32.3 时,调用 sdkInstance.onNeedPrivacyAuthorization(listener) 接口将直接触发监听函数,其返回值中的 code 为非 0 状态码,并在正式版环境下于控制台输出错误提示(非正式版环境下,以弹窗形式展示)!
注意事项
- 注册该事件监听后将全局启用自定义隐私授权弹窗模式,微信平台统一的隐私授权弹窗将不再展示,且微信未提供取消监听的方法;请确保游戏已实现自定义隐私授权弹窗后再调用此接口;
- 事件触发后,务必根据用户的操作调用
resolve,否则触发该事件的原隐私接口将一直处于等待状态,无法返回结果; - 用户拒绝授权时,触发该事件的原隐私接口将调用失败,并返回
xxx:fail privacy permission is not authorized的错误信息。
# 参数说明
参数说明如下表所示:
| 选项 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| listener | function | 是 | -- | 隐私接口需要用户授权事件的监听函数 |
# 返回值说明
| 选项 | 类型 | 说明 |
|---|---|---|
| code | number | 响应状态码,为 0 时表示事件触发成功,其他非 0 状态码均表示事件触发失败 |
| data | object / null | 事件触发成功时返回隐私授权事件数据,失败时返回 null |
| data.resolve | function | 用于通知微信用户的隐私授权操作结果,调用时需传入 { event: "xxx" },event 的可选值如下:- exposureAuthorization 表示自定义隐私授权弹窗已曝光,可在展示弹窗时调用 - agree 表示用户同意隐私授权 - disagree 表示用户拒绝隐私授权 |
| data.eventInfo | object | 触发本次事件的关联信息 |
| data.eventInfo.referrer | string | 触发本次事件的接口或组件名,如 getUserInfo、UserInfoButton.onTap |
| message | string | 事件触发时的相应描述信息 |
# 示例代码
注:示例代码中的参数或选项均为演示数据,仅供参考,谢谢!
// 监听隐私授权事件(需在调用任何隐私相关接口之前注册)
sdkInstance.onNeedPrivacyAuthorization(function(response) {
// code 非 0 时表示监听失败,例如用户基础库版本暂不支持此监听
if (response.code !== 0) {
return;
}
const resolve = response.data.resolve;
// 此处 showPrivacyPopup 仅为演示,实际弹窗由开发者自行使用游戏引擎实现
showPrivacyPopup({
// 弹窗展示时,告知微信自定义隐私授权弹窗已曝光
onShow: function() {
resolve({ event: "exposureAuthorization" });
},
// 用户点击查看隐私协议
onOpenContract: function() {
sdkInstance.openPrivacyContract({});
},
// 用户点击同意
onAgree: function() {
resolve({ event: "agree" });
},
// 用户点击拒绝
onDisagree: function() {
resolve({ event: "disagree" });
}
});
});
# 退出游戏(选接)
# 接口说明
用于退出当前游戏,需在用户相关点击事件内触发。
sdkInstance.exit(options);
最低基础库版本要求
当用户的客户端基础库版本低于 2.17.3 时,调用 sdkInstance.exit(options) 接口将中断用户当前操作并弹出升级提示,不会报错!
# 参数说明
参数说明如下表所示:
| 选项 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| success | function | 否 | -- | 接口调用成功的回调函数 |
| fail | function | 否 | -- | 接口调用失败的回调函数 |
| complete | function | 否 | -- | 接口调用完成的回调函数,成功或失败均会调用 |
# 返回值说明
WARNING
返回值格式:JSON 格式。
| 选项 | 类型 | 说明 |
|---|---|---|
| code | number | 响应状态码,为 0 时表示调用成功,其他非 0 状态码均表示调用失败 |
| data | object / null | 调用成功时返回相应信息(因微信API原因,此处可能为空),失败时返回 null |
| message | string | 调用成功或失败时的相应描述信息 |
# 示例代码
注:示例代码中的参数或选项均为演示数据,仅供参考,谢谢!
// 当用户的客户端基础库版本低于 2.17.3 时,调用此接口将中断用户当前操作并弹出升级提示,不会报错!
sdkInstance.exit({
success: function(response) {
console.log(response); // 接口响应,此处response.code为0,表示退出成功
},
fail: function(error) {
console.log(error); // 退出失败的错误信息,error.code为非0状态码,error.message为错误消息
},
complete: function(result) {
// do something here...
}
});
← 数据统计 小游戏 SDK 接入 Skill →