java 实现微信小程序订阅消息

本文介绍了微信小程序订阅消息的原理和与模板消息的区别,强调了用户订阅的主动性及安全系数。接入订阅消息涉及选择模板、触发订阅、用户授权等步骤。提供了微信官方文档链接及代码实现,包括微信端和后台Java代码示例,帮助开发者理解和实施小程序订阅消息功能。
摘要由CSDN通过智能技术生成

小程序订阅消息

一、概述

1.微信小程序可以向用户推送信息吗?
答:可以,可以推送订阅消息。(原有的模板消息已下架)
2.订阅消息是什么?
答:订阅消息是需要用户主动订阅,开发者才可以面向用户发送的消息。

       关键要素如下:
       ①订阅消息下发条件:用户自主订阅
       ②订阅消息推送位置:服务通知
       ③订阅消息卡片跳转能力:点击查看详情可跳转至该小程序页面
3.订阅消息和模板消息,有什么不同?
    (1)模板消息:
        当用户在小程序内完成特定的交互行为(支付或提交表单行为)来收集formid,后续利用该formid可以在7天内任意时间给该用户推送模板消息。
            ①发送模板消息一定要携带formid
            ②推送的有效时间为7天
            ③用户只能被动选择接收,下发的权利掌握在开发者手上

   (2) 订阅消息
      当用户在小程序内点击特定按钮后会弹出申请订阅弹窗,同意后小程序可在后续任意时间给该用户推送服务通知。
      较模板消息,订阅消息有如下几个特点:
          ①选择权在用户手中 :在小程序内,订阅消息像是一个开关,需要用户主动点击授权之后,开发者才能向其推送服务通知。
         ②时长不受限制 :订阅消息没有7天内推送消息的时间限制,只要用户没有主动拒收消息推送,就可以随时推送服务通知。
          ③安全系数更高

4.如何接入订阅消息?
      答:接入订阅消息的步骤,主要分三步:
(1).选择订阅消息模板:
       进入微信小程序后台,选择/添加小程序服务类目,微信将自动根据类目分配消息模板到你的公共模板库,你可在公共模板库中,选择合适的模板(或者申请新模板,申请新模板须审核后才可使用)

(2).将订阅消息的触发埋入用户交互流程中:
       申请发送订阅消息,需要用户手动在小程序进行触发。将订阅消息的触发设计到小程序的交互流程中,用户点击后,才能触发订阅申请弹窗。
(3).用户点击触发后,下发订阅消息发送申请弹窗:
用户勾选同意下发的模板,点击“允许”后,就可以用该模板进行推送。

注意:订阅消息的模板与小程序所属类目直接挂钩,如果删除小程序类目,该类目对应的订阅消息模板也将一并删除,请特别留意。

5.如何做好订阅消息?
答:
(1)关于订阅时机让用户在需要用到消息的时候,触发订阅机制,而不要让用户一打开小程序就进行订阅。
(2)关于订阅内容引导用户订阅跟用户当前的服务相关的模板信息,其他暂时用不到的模板建议等用户用到之后再订阅,以免用户产生误解而取消订阅。
(3)关于订阅流程建议开发者将订阅消息融入到自然的产品体验流程中。
(4)关于强制订阅不建议进行强制订阅,避免出现用户不订阅就无法进行下一步的操作的情况,引起用户反感。

6.订阅消息推送工具
答:
    工具一:微信
      步骤一:获取模板ID
        在微信公众平台收到配置获取模板ID:登录https://mp.weixin.qq.com获取模板,如果没有合适的模板, 可以添加申请新模板,审核通过后可使用。
在这里插入图片描述

       步骤二:获取下发权限
         详见小程序端消息订阅接口wx.requestSubscribeMessage
       步骤三:调用接口下发订阅信息
         详见服务端消息发送接口subscribeMessage.send

   工具二:阿拉丁小神推
         是专注于小程序的粉丝推送平台,基于微信的订阅消息的推出,从选择订阅消息模板,配置订阅消息的触发,收集用户订阅数据,创建推送触达用户,到停机用户召回效果,提供了一整套的产品服务。

7.订阅消息包括两种:

一次性订阅消息

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

长期订阅消息

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

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

8.微信小程序官方文档:
(1)小程序订阅消息指南介绍:
https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/subscribe-message.html
(2)服务端接口介绍
https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/subscribe-message/subscribeMessage.send.html

二、 代码实现

效果图:
在这里插入图片描述

1、微信端

subscribe-message.wxml:

<view class="main">
  <view class="title">订阅消息实现,以下单为例</view>
  <view class="subscribeBtn" bindtap = "toSubscribeMsg">下单</view>
</view>

subscribe-message.js:

// pages/subscribe-message/subscribe-message.js
Page({
   

	/**
	 * 页面的初始数据
	 */
	data: {
   

	},

	/**
	 * 生命周期函数--监听页面加载
	 */
	onLoad: function (options) {
   

	},

	/**
	 * 生命周期函数--监听页面显示
	 */
	onShow: function () {
   

	},
	//订阅消息
	toSubscribeMsg(){
   
		console.log("toSubscribeMag")
		var that = this
		//调起客户端小程序订阅消息界面,返回用户订阅消息的操作结果
		wx.requestSubscribeMessage({
   
		  tmplIds :['krNzVrso-gFMbz3gRuuLiAYf4_yep8IqyNwQHDK8_tw'], //需要订阅的消息模板的id的集合,一次调用最多可订阅3条消息
		  success: function(res){
   
			console.log(res)
			let result = res['krNzVrso-gFMbz3gRuuLiAYf4_yep8IqyNwQHDK8_tw']
			console.log('result',result)
			if(result == 'accept'){
   //允许订阅
			  wx.showModal({
   
				title: '提示',
				content: '订阅成功',
				showCancel: false
			  })
			  //服务端调用 消息发送接口 subscribeMessage.send
			  
	
			}else if(result == 'reject'){
   //取消
			  console.log('拒绝订阅')
			}
		  }
		})
	},

	/**
	 * 用户点击右上角分享
	 */
	// onShareAppMessage: function () {
   

	// }
})

subscribe-message.wxss:

/* pages/subscribe-message/subscribe-message.wxss */
.main{
   
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.title{
   
    width: 100%;
    text-align: center;
    font-family: PingFang SC;
    font-style: normal;
    font-weight: 400;
    font-size: 36rpx;
    color
  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值