微信小程序模板消息推送
首先,我们需要知道一件事情,小程序的模板推送分为“一次性订阅”和“长期订阅”
一次性订阅:用户订阅小程序后,程序只能对指定OpenId进行一次推送模板消息,无法多次推送
推送模板消息前置配置
1.需要配置消息推送
2.需要根据AppId、AppSecret调用开发文档Api获取access_token
推送模板消息API
其中参数的data属性,需要我们在代码中与之对应:
例如:
模板格式
参数类型:
类型:(需要注意一些长度限制)
上边的准备好就可以进行代码编写。
代码实现
1.模板消息:(所要传的参数实体)
public class WxSubscribeMsg { // 接收人id private String touser; // 模板id private String template_id; // 跳转小程序 private String page; // 模板数据 private Map<String, WxTemplateValue> data; // 跳转小程序类型 默认正式版 private String miniprogram_state; // 语言类型 默认中文 private String lang = "zh_CN"; public String getTouser() { return touser; } public void setTouser(String touser) { this.touser = touser; } public String getTemplate_id() { return template_id; } public void setTemplate_id(String template_id) { this.template_id = template_id; } public String getPage() { return page; } public void setPage(String page) { this.page = page; } public Map<String, WxTemplateValue> getData() { return data; } public void setData(Map<String, WxTemplateValue> data) { this.data = data; } public String getMiniprogram_state() { return miniprogram_state; } public void setMiniprogram_state(String miniprogram_state) { this.miniprogram_state = miniprogram_state; } public String getLang() { return lang; } public void setLang(String lang) { this.lang = lang; } }
2.模板内容:(API中的data属性)
public class WxTemplateValue { private String value; public String getValue() { return value; } public void setValue(String value) { this.value = value; } @Override public String toString() { return "WxTemplateValue{" + "value=" + value + + }; } }
3.返回数据接收
public class WxUserInfo { private String openid; private String session_key; private String unionid; private int errcode; private String errmsg; public String getOpenid() { return openid; } public void setOpenid(String openid) { this.openid = openid; } public String getSession_key() { return session_key; } public void setSession_key(String session_key) { this.session_key = session_key; } public String getUnionid() { return unionid; } public void setUnionid(String unionid) { this.unionid = unionid; } public int getErrcode() { return errcode; } public void setErrcode(int errcode) { this.errcode = errcode; } public String getErrmsg() { return errmsg; } public void setErrmsg(String errmsg) { this.errmsg = errmsg; } }
推送代码:
调用的API接口:
上一篇:
uniapp开发微信小程序-2.页面制作
下一篇:
【微信小程序】一文解忧,事件绑定