微信小程序五:(uniapp)订阅消息

小程序官方文档:https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/subscribe-message.html

uniapp文档:https://uniapp.dcloud.io/api/other/requestSubscribeMessage

示例:

 

一、后端

 

 

 

二、小程序调用

uni.requestSubscribeMessage({
	tmplIds: tmplIds,//数组(后台获取的)
	success:(res)=>{
		console.log(res[tmplIds[0]]);//值包括'accept':同意、'reject':拒绝、'ban':后台禁用
	},
	fail:(err)=>{
		
	}
})

 

三、遇到的一些问题

调用失败fail返回提示及解决方式:
1.errMsg:"requestSubscribeMessage:fail can only be invoked by user TAP gesture."

解决:bindtap点击才行、不能延迟调用

2.errMsg:"requestSubscribeMessage:fail 开发者工具暂时不支持此 API 调试,请使用真机进行开发"

解决:真机调试才行

3.errMsg:"requestSubscribeMessage:fail:No template data return, verify the template id exist"

   errorCode:20001

解决:确认模板ID是订阅消息的模板ID且正确。

4.errMsg:"requestSubscribeMessage:fail:Templates count out of max bounds"

   errCode:20003

解决:模版数量超出,最多3个

5.requestSubscribeMessage:fail last call has not ended

解决:如果申请的是“一次性订阅”,一次触发只有一次推送消息机会,所以我们会在其他页面点击事件去调用requestSubscribeMessage,获取更多次的推送消息机会。但是每个手机获取是有上限的,大概几十个吧。然后只有用掉推送消息次数,才能重新成功调用,否则会出现以上问题。

注意-坑:

1.bindtap点击才可以调起

2.真机调试才行(--2020/01/03:貌似微信开发者工具也可以调用了)

3.不能延迟去调用wx.requestSubscribeMessage,如先调用其他接口请求成功再去它、使用定时器延迟调用

4.目前长期性订阅消息仅向政务民生、医疗、交通、金融、教育等线下公共服务开放,后期将逐步支持到其他线下公共服务业务

 

 

 

 

 

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值