使用微信小程序新的订阅消息接口,主动推送。
发表于更新于
广州
开发微信小程序使用微信小程序新的订阅消息接口,主动推送。
❄️2winter小程序订阅消息,昨天刚上线,今天就体验了一下,遇到不少问题,不过还好都解决了。
首先:你需要在小程序后台,选择一个模板,和公众号差不多,不过这里一定要注意,选择模板和你的类目有关系,只出现你类目相关的,而且,还有就是感觉是微信那边的问题,我刚开始选了一个带彩票开奖字段的模板,后面推送消息总是:blackList!!!推送失败,换一个文字正常的就过了。
选好模板:记下ID就进行下一步:
小程序端如何操作呢,这点和公众号不一样,公众号需要一个FormID来消耗,而订阅消息不是,当用户通过事件触发:
我们主动向用户弹出申请,一会放图,下面是API使用,tmplids是模板消息列表ID,你可以放上多个,用户可以根据自己的选择来勾选,当用户勾选要接收的模板消息类型,会返回动态的字段(和模板消息ID一致),并且这个字段的值是:accept,这就代表你在后台,可以为这个用户,推送accept过的模板消息了。不过只能推送一次,如果用户多次点击,便可以多次推送,微信后台应该是记录了。我们也可以自己记录,不需要保存FormID这样的东西。
接口:wx.requestSubscribeMessage(Object object)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| wx.requestSubscribeMessage({ tmplIds: ["XII_0By8D9WabnUjVPB_8S1itsm2d4_xxx"], success: function (res) { if (res.XII_0By8D9WabnUjVPB_8S1itsm2d4_xxxxx === 'accept'){ wx.showToast({ title: '订阅OK!', }) } console.log(res) }, fail(err) { console.error(err); } }) },
|
一旦用户点击允许,我们可以后台记录该模板被允许了一次。
多次点击,是累计。
看看后端关键代码:PHP接口:subscribeMessage.send
这里注意就是:每个字段都有格式,一定要按照文档格式来
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
public function sendSubMessage( $openId = "ofasP0XMXrT-8sZCoXcOTxxxxxxx",$tmpl = "XII_0By8D9WabnUjVPB_8S1itsm2d4_VsRxxxxxx"){
$params['touser'] = $openId; $params['template_id'] = $tmpl; $params['page'] = "/pages/index/index"; $params['data'] = [ 'date2' => ['value' =>'2019-10-12'], 'thing1'=>['value'=>'开通完成'] ];
return $this->getCurl(self::$subMessageUrl.self::$accessToken,$params);
}
|
看看发送成功的内容:
❄️2winter
ReactNative FullStack Developer
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 ❄️2winter!