一、小程序订阅消息
1.1、功能介绍
- 订阅消息推送位置:服务通知
- 订阅消息下发条件:用户自主订阅
- 订阅消息卡片跳转能力:点击查看详情可跳转至该小程序的页面
1.2、消息类型
-
一次性订阅消息:一次性订阅消息用于解决用户使用小程序后,后续服务环节的通知问题。用户自主订阅后,开发者可不限时间地下发一条对应的服务消息;每条消息可单独订阅或退订 -
长期订阅消息:一次性订阅消息可满足小程序的大部分服务场景需求,但线下公共服务领域存在一次性订阅无法满足的场景,如航班延误,需根据航班实时动态来多次发送消息提醒。为便于服务,我们提供了长期性订阅消息,用户订阅一次后,开发者可长期下发多条消息。目前长期性订阅消息仅向政务民生、医疗、交通、金融、教育等线下公共服务开放,后期将逐步支持到其他线下公共服务业务。
1.3、具体的话,大家可以看官方文档的解释更为详细:传送门
二、实现订阅模版消息
2.1、获取模版ID
2.2、获取下发权限(此为小程序端出发,详情见官方文档:传送门)
2.3、调用接口下发订阅消息
2.3.1、首先我们要知道推送给谁,openId是用户在小程序中的唯一标识。
2.3.2、其次我们要有access_token,请看我另一篇文章:传送门
2.3.3、编写发送模版工具类
package com.prison.common.util;
import cn.hutool.http.HttpUtil;
import cn.hutool.json.JSONObject;
import lombok.extern.slf4j.Slf4j;
/**
* @author WangJing
* @Description WeChatUtil工具
* @date 2021/6/7 21:45
*/
@Slf4j
public class WeChatUtil {
//发送订阅消息
public static final String MESSAGE_SUBSCRIBE_SEND = "https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=ACCESSTOKEN";
/**
* 发送订阅消息
*
* @param accessToken
* @param openId
* @param templateId
* @param json
* @return
*/
public static String messageSubscribeSend(String accessToken, String openId, String templateId, JSONObject json) {
JSONObject body = new JSONObject();
body.set("touser", openId);//接受人的openId
body.set("template_id", templateId);//模版ID
body.set("data", json);//如餐
String requestUrl = MESSAGE_SUBSCRIBE_SEND.replace("ACCESSTOKEN", accessToken);
String post = HttpUtil.post(requestUrl, body.toString());
return post;
}
/**
* 测试发送订阅消息
* @param args
*/
public static void main(String[] args) {
String templateId = "your templateId";
JSONObject json = new JSONObject();
json.set("thing1", new JSONObject().set("value", "陈"));
json.set("thing2", new JSONObject().set("value", "身份证"));
json.set("character_string3", new JSONObject().set("value", "123456*********321"));
json.set("thing4", new JSONObject().set("value", "审核失败"));
String accessToken = "your token";
String openId = "your openId";
String s = messageSubscribeSend(accessToken, openId, templateId, json);
System.out.println(s);
}
}
2.3.4、效果
三、注意:jar包引用 和 小程序 appid 等配置,请看其他文章:传送门
注:以上内容仅提供参考和交流,请勿用于商业用途,如有侵权联系本人删除!
|