主动订阅

qq.subscribeAppMsg

qq.subscribeAppMsg(Object object)

根据是否带有 tmplIds 参数分为 一次性订阅 和 长期订阅:

长期订阅: 向用户发起主动订阅小程序授权请求,调用后会弹窗询问用户是否同意长期订阅消息。如果用户之前已经同意授权,则不会出现弹窗,直接返回成功。

一次性订阅: 向用户发起一次性订阅消息授权请求,调用后会弹窗询问用户是否同意一次性订阅消息。无论用户之前是否同意授权,下次都会出现弹窗。

后续如果需要修改订阅状态,可通过 qq.openSetting(Object object)跳转至设置页面,让用户手动修改。 更多用法详见 授权

参数

说明: 根据是否带有 tmplIds 参数,分为长期订阅(无 tmplIds 参数)和 一次性订阅(有 tmplIds 参数)

Object object
属性 类型 默认值 必填 说明
tmplIds Array 需订阅的消息模板的id的集合,一次调用最多可订阅3条消息。
subscribe boolean 订阅(true)及取消订阅(false)
success function 接口调用成功的回调函数
fail function 接口调用失败的回调函数
一次性订阅错误码
errCode errMsg 说明
10001 TmplIds can't be empty 参数传空了
10002 Request list fai 网络问题,请求消息列表失败
10003 Request subscribe fail 网络问题,订阅请求发送失败
10004 Invalid template id 参数类型错误
10005 Cannot show subscribe message UI 无法展示 UI,一般是小程序这个时候退后台了导致的
20001 No template data return, verify the template id exist 没有模板数据,一般是模板 ID 不存在 或者和模板类型不对应 导致的
20002 Templates type must be same 模板消息类型 既有一次性的又有永久的
20003 Templates count out of max bounds 模板消息数量超过上限
20004 The main switch is switched off 用户关闭了主开关,无法进行订阅
20005 This mini program was banned from subscribing messages 小程序被禁封

示例代码

// 一次性订阅
qq.subscribeAppMsg({
  tmplIds: ['123','456','789'],
  subscribe: true,
  success(res) {
    console.log("----subscribeAppMsg----success", res);
  },
  fail(res) {
    console.log("----subscribeAppMsg----fail", res);
  }
});

// 长期订阅
qq.subscribeAppMsg({
  subscribe: true,
  success(res) {
    console.log("----subscribeAppMsg----success", res);
  },
  fail(res) {
    console.log("----subscribeAppMsg----fail", res);
  }
});
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

违规说明

除不能违反运营规范外,还不能违反以下规则,包括但不限于:

  • 不允许恶意诱导用户进行触发操作,以达到可向用户下发模板目的
  • 不允许恶意骚扰,下发对用户造成骚扰的消息
  • 不允许恶意营销,下发营销目的消息

处罚说明

根据违规情况给予相应梯度的处罚,一般处罚规则如下:

  • 第一次违规,删除违规模板以示警告,
  • 第二次违规,封禁接口 7 天,
  • 第三次违规,封禁接口 30 天,
  • 第四次违规,永久封禁接口。

处罚结果及原因以站内信形式告知。