微信小程序消息订阅功能

这篇具有很好参考价值的文章主要介绍了微信小程序消息订阅功能。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、功能介绍

消息能力是小程序能力中的重要组成,我们为开发者提供了订阅消息能力,以便实现服务的闭环和更优的体验。

  • 订阅消息推送位置:服务通知
    微信小程序订阅功能,微信小程序,微信小程序,小程序,微信

  • 订阅消息下发条件:用户自主订阅(用户订阅了才能接收推送的消息)
    微信小程序订阅功能,微信小程序,微信小程序,小程序,微信

  • 订阅消息卡片跳转能力:点击查看详情可跳转至该小程序的页面(就是:进入小程序查看)

  • 微信小程序订阅功能,微信小程序,微信小程序,小程序,微信

二、消息类型

1. 一次性订阅消息

一次性订阅消息用于解决用户使用小程序后,后续服务环节的通知问题。用户自主订阅后,开发者可不限时间地下发一条对应的服务消息;每条消息可单独订阅或退订。(简而言之:就是订阅一次接收一次)

2. 长期订阅消息

一次性订阅消息可满足小程序的大部分服务场景需求,但线下公共服务领域存在一次性订阅无法满足的场景,如航班延误,需根据航班实时动态来多次发送消息提醒。为便于服务,我们提供了长期性订阅消息,用户订阅一次后,开发者可长期下发多条消息。(简而言之:就是长期)

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

微信小程序订阅功能,微信小程序,微信小程序,小程序,微信

三、使用步骤

1. 步骤一:获取模板 ID

在微信公众平台手动配置获取模板 ID:
登录 https://mp.weixin.qq.com 获取模板,如果没有合适的模板,可以申请添加新模板,审核通过后可使用
微信小程序订阅功能,微信小程序,微信小程序,小程序,微信

2. 步骤二:获取下发权限

wx.requestSubscribeMessage 必须要在用户触发点击等交互行为后才能调用。这是因为 requestSubscribeMessage API 会弹出授权订阅消息的界面,因此会直接涉及到用户隐私。如果没有用户的明确授权,小程序及公众号都无法在后台直接向用户发送订阅消息(我就这里犯了错误,没有事件触发就直接调用了),还有一点就是wx会自动获取openid等微信小程序相关的参数,所以不要误解为一人订阅,人人能接收。

wx.requestSubscribeMessage({
     tmplIds: ['7llp6tWRpQQgmi_xNm2jRouhujwTRWsd280fauH_xxx'], // 需要订阅的模板消息的id列表
     success(res) {
       // 订阅成功,res为一个对象,包含已订阅的模板消息的订阅状态
       console.log(res);
     },
     fail(err) {
       // 订阅失败,可能是用户拒绝了订阅或者其他原因
       console.log(err);
     }
})

3. 步骤三:调用接口下发订阅消息

次数限制:开通支付能力的小程序下发上限是3kw/日,没开通的是1kw/日。

POST https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=ACCESS_TOKEN

ACCESS_TOKEN是小程序访问凭证,可以通过一下方式获取:

import cn.hutool.http.HttpUtil;
import cn.hutool.json.JSONUtil;

public class GetAccessToken {

    // 小程序 APPID 和 APPSecret
    private static final String APPID = "xxxxxxxxxxxxxxxxxx";
    private static final String APPSECRET = "xxxxxxxxxxxxxxxxxx";

    /**
     * 获取小程序 ACCESS_TOKEN
     * @return 小程序 ACCESS_TOKEN
     */
    public static String getAccessToken() {
        String url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" + APPID + "&secret=" + APPSECRET;
        String result = HttpUtil.get(url);
        // 使用 Hutool 的 JSONUtil 解析结果
        String accessToken = JSONUtil.parseObj(result).getStr("access_token");
        return accessToken;
    }
}

调用下发接口发送订阅消息

import cn.hutool.http.HttpUtil;
import cn.hutool.json.JSONUtil;

public class SendSubscribeMessage {

    /**
     * 下发订阅消息
     * @param accessToken 小程序 ACCESS_TOKEN
     * @param toUser 接收者(用户)的 openid
     * @param templateId 所需下发的订阅模板id
     * @param page 点击消息后跳转的页面,仅限本小程序内的页面。支持带参数,比如 index?foo=bar
     * @param data 订阅内容数据
     * @return 接口调用结果
     */
    public static String sendSubscribeMessage(String accessToken, String toUser, String templateId, String page, Object data) {
        String url = "https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=" + accessToken;
        JSONObject params = new JSONObject();
        params.put("touser", toUser);
        params.put("template_id", templateId);
        params.put("page", page);
        params.put("data", JSONObject.parseObject(JSONUtil.toJsonStr(data)));
        String result = HttpUtil.post(url, params.toJSONString());
        return result;
    }
}

四、注意事项

用户勾选 “总是保持以上选择,不再询问” 之后,下次订阅调用 wx.requestSubscribeMessage 不会弹窗,保持之前的选择,修改选择需要打开小程序设置进行修改。

五、参考文档

微信小程序消息订阅传送门文章来源地址https://www.toymoban.com/news/detail-742694.html

到了这里,关于微信小程序消息订阅功能的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序实现订阅消息功能(Node服务器篇)

            * 源码已经上传到资源处,需要的话点击跳转下载 |  源码下载         在上一篇内容当中在微信小程序中实现订阅消息功能,都在客户端(小程序)中来实现的,在客户端中模拟了服务器端来进行发送订阅消息的功能,那么本篇就将上一篇内容中仅在客户端中实现

    2024年02月03日
    浏览(59)
  • uni-app中实现微信小程序/公众号订阅消息推送功能

    👨🏻‍💻 热爱摄影的程序员 👨🏻‍🎨 喜欢编码的设计师 🧕🏻 擅长设计的剪辑师 🧑🏻‍🏫 一位高冷无情的编码爱好者 大家好,我是全栈 IT 工程师摘星人 欢迎分享 / 收藏 / 赞 / 在看! 开发业务时时常遇到需要向用户发送一些通知,如欠费通知、会员到期通知等等。

    2024年02月02日
    浏览(128)
  • 微信小程序的订阅消息是一个允许开发者向用户发送重要通知的功能。这里为您展示如何实现小程序订阅消息的基本步骤和代码示例

    步骤 1: 获取模板 ID 首先,您需要登录微信公众平台,进入「小程序管理」后台,找到“设置” “开发设置” “订阅消息”,然后选择并配置所需的模板,记录模板 ID。 步骤 2: 小程序前端请求订阅 在小程序的某个页面或组件中,当用户执行某个操作(例如点击按钮)时,可

    2024年02月04日
    浏览(89)
  • uniapp - 微信小程序平台模板消息订阅功能,唤起订阅模板消息弹框、微信公众号向用户发送 “服务通知“ 实现全过程示例代码,支持一次性订阅与永久性订阅(注释详细,一键复制开箱即用)

    本博客实现了uniapp微信小程序端,详细实现公众号订阅通知模板消息完整示例源码,一次性订阅与永久订阅均可,注释详细新手一看就懂! 效果如图所示,uniapp编译的微信小程序内点击按钮后,唤起模板消息订阅申请弹框,后续微信内会收到通知。

    2024年02月13日
    浏览(61)
  • 微信小程序订阅消息

    subscribeMessage.send | 微信开放文档 由于业务需求 , 需要实现小程序订单状态发送给用户 , 于是微信小程序发送订阅消息就被找到了 这里前端是使用了uniapp , 具体实现方式不清楚,就不瞎bb了 后端这里就是上面的接口文档 , 总共需要是三个步骤 1. 获取小程序 appid 和 密钥 2. 订阅消

    2024年02月09日
    浏览(54)
  • 微信小程序--订阅消息

    关于小程序订阅消息之一次性订阅: 一次性订阅是指授权一次方可接收一次消息;这个最好的应用场景就是自己给自己发送消息,比如订单,当自己下单成功时,调用此接口,会在微信服务消息收到下单成功通知等具体详情。 如果是给别人发,一次性订阅就不适合,类似你

    2024年02月07日
    浏览(42)
  • uniapp 小程序订阅消息 一次订阅多个 wx.requestSubscribeMessage 微信小程序订阅消息

    如图所示,订阅消息 官方文档: 小程序订阅消息官方文档 1,消息类型 (1) 一次性订阅消息 用户自主订阅后,开发者可不限时间地下发一条对应的服务消息;每条消息可单独订阅或退订。 (2) 长期订阅消息 用户订阅一次后,开发者可长期下发多条消息。 目前长期性订阅消息

    2024年02月09日
    浏览(58)
  • 微信小程序之订阅消息

    其实客户端的步骤很简单 这里放上文档地址 https://developers.weixin.qq.com/miniprogram/dev/api/open-api/subscribe-message/wx.requestSubscribeMessage.html 第一步 首先我们需要到微信公众平台的 订阅消息-公共消息模板处选择需要的模板添加到-我的模板。 通过wx.requestSubscribeMessage()方法调起小程序订

    2024年02月11日
    浏览(44)
  • 微信小程序 如何订阅消息?

    微信公众号分为两种类型:订阅号和服务号,它们在功能和使用方式上有一些区别。 1.订阅号(Subscription Account): 2.服务号(Service Account): 微信公众号的类型是在注册时选择的,一旦选择了订阅号或服务号,无法直接转换。如果您主要是提供资讯和更新性内容,订阅号可

    2024年02月06日
    浏览(57)
  • 微信小程序——订阅通知消息

    1.在微信公众平台的订阅消息页面设置模板消息 2.后端发送订阅消息需要得到用户的唯一id 通过   wx.login() 获取微信的唯一配置 code (每一个微信号只有一个code) 通过接口把获取到的 code 发送给后端 获取openid   3.在登录页面点击登录按钮的时候让用户同意接收订阅消息 使用

    2024年02月13日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包