订阅消息更新时间: 2025-07-15 17:16:00
一、查询当前消息订阅状态
qg.querySubscribe(Object object)
获取当前用户的订阅消息状态信息:
1. 用户对于每条已定义的消息模板的订阅状态;2. 用户是否禁止订阅消息弹窗。
参数 Object object
属性 | 类型 | 必填 | 说明 |
success | Function(Object res) | 否 | 成功回调 |
fail | Function | 否 | 失败回调 |
complete | Function | 否 | 执行结束后的回调 |
success回调函数的参数 Object res
属性 | 类型 | 说明 |
disableSubscribePopup | Number | 1为禁止弹窗,0为允许 |
msgTypeSettings | Array | 消息模板设置数组,包含多个消息模板对象 |
消息模板对象结构
属性 | 类型 | 说明 |
msgTemplateID | String | 消息模板ID |
templateName | String | 消息模板名称 |
value | Number | 开关状态(0关,1开) |
代码示例
qg.querySubscribe({
success: (res) => {
console.log(res)
},
fail: () => {},
complete: () => {}
})
返回示例
{
"disableSubscribePopup": 1,
"msgTypeSettings": [
{
"msgTemplateID": "1",
"templateName": "游玩提醒",
"value": 1
},
{
"msgTemplateID": "2",
"templateName": "礼包领取提醒",
"value": 1
}
]
}
二、请求订阅消息弹窗(最小支持引擎版本1309+)
qg.openSubscribePopWindow(Object object)
调起小游戏请求订阅消息页面,返回用户订阅消息的操作结果。当用户勾选了订阅面板中的“总是保持以上选择,不再询问”时,对于该用户客户端永久不再显示请求订阅消息弹窗。
注意:在13090001以下版本快应用框架的用户不支持调起“请求消息订阅”弹窗。
参数 Object object
属性 | 类型 | 必填 | 说明 |
msgTypeSettings | Array | 是 | 要展示的消息模板ID数组,每个元素包含msgTemplateID字段 |
代码示例
const res = qg.openSubscribePopWindow({
"msgTypeSettings": [
{
"msgTemplateID": "1",
},
{
"msgTemplateID": "2",
}
]
})
返回示例(用户点击允许并修改了设置)
{
"msgTypeSettings": [
{
"msgTemplateID": "1",
"templateName": "游玩提醒",
"value": 1
},
{
"msgTemplateID": "2",
"templateName": "礼包领取提醒",
"value": 0
}
]
}
返回示例(用户点击拒绝,返回一个空Json)
{
"msgTypeSettings": []
}
三、错误码列表
错误码 | 错误信息 | 说明 |
202 | parameters error, please check your parameters | 参数错误或空参数 |
0 | Persistent Preference Setting is set to On, no pop-up window will be displayed | 用户勾选了“不再显示”偏好设置 |
200 | network error | 用户点击“允许”按钮后因断网或其他错误导致修改失败 |
200 | Package name cannot be null or empty | 获取不到游戏包名 |
206 | Dialog already open | dialog已经处于打开状态时再次请求打开 |
四、开发建议
- 在调用
openSubscribePopWindow
前,建议先调用querySubscribe
查询当前状态,避免不必要的弹窗 - 处理接口返回结果时,应检查
msgTypeSettings
数组是否为空,以区分用户点击了允许还是拒绝 - 对于错误码206,应在代码中做好状态管理,避免重复请求打开弹窗
- 参数构造时,确保只传入已定义的模板ID,且数量不超过5个
- 查询接口会有一个5分钟本地缓存,用户点击允许后成功修改了订阅状态后会刷新这个缓存。这里需要注意在订阅设置页面发生的修改不会去更新这个缓存
- 建议在网络环境良好时调用订阅相关接口,减少因网络问题导致的失败
上一篇:全局变量
下一篇:联运SDK
文档内容是否有帮助?
有帮助
无帮助