文章目录
前言
为何要订阅消息 & 订阅的好处
相信你也曾被微信的服务通知
所骚扰过(bushi)…
没错,微信的订阅消息
会发送到用户的服务通知
处;
而服务通知
不同于公众号
/服务号
等通知;
“服务通知”:属于
强提醒
,会以大红点
的形式出现,而且还会在手机/电脑提醒消息
;“公众号/服务号”:属于
弱提醒
,只会以小红点
的形式出现,不会在手机/电脑中提醒。
如图(对比):
因此,订阅消息的好处就不言而喻了,最显然的就是:提高用户的转化率
一、一次性订阅 & 长期订阅
一次性订阅:用户订阅后,在任意时间发一次消息给用户,不能发第二次。
长期订阅:用户订阅后,可长期发送多条信息。(但是这个要求行业和资质高,只有特定的几个类目才能选)
那么如何实现一次性订阅也能长期发送多条消息呢?
如图:
当你调用wx.requestSubscribeMessage
接口时(最多可传入3个模板id),就会触发授权弹窗。
注意!细节来了!
弹窗授权为发送一次以下消息
(即一次性订阅);
而下方的总是保持以上选择
是默认的选择项(字体这么小而且还是灰色的,是不是不容易发现0.0);
简单来讲:授权
发送一次以下消息
+总是保持以上选择
=只要你授权一次,我就可以无限次发订阅消息
但是需要用户手动开启授权模板,如下图留言通知/榜单更新通知/新活动通知
的授权按钮默认是关闭的
虽然说是这么说,但是可以通过诱导(引导)用户来开启,如:不开启可能会导致功能无法使用…
(懂的都懂)
二、操作步骤
接下来是简单的代码实现,具体的可以自己添加更多的业务逻辑
1. 创建模板
进入微信小程序后台—“基础功能”—“订阅消息”,进入"公共模板库"挑选合适的模板后,得到模板ID。
2. 前端授权订阅消息
微信官方文档:小程序订阅消息(用户通过弹窗订阅)开发指南
使用
uni.requestSubscribeMessage
发起授权,传参为模板ID,若有多个则需要传数组。
(最多授权3个模板ID)
注:开发时使用了uni-app
框架,微信官方的API为 wx.requestSubscribeMessage
,效果是一致的。
代码如下(示例):
Tip:可以在关键业务按钮埋下
授权订阅消息
代码让用户授权,但也要注意用户体验。
// 创建问题
const createQuestion = async () => {
// 检查模板消息订阅权限
try {
const subscribeResult = await uni.requestSubscribeMessage({
tmplIds: [
'模板ID-1xxxxxx',
'模板ID-2xxxxxx',
],
})
if (subscribeResult.errMsg === 'requestSubscribeMessage:ok') {
// 用户同意了订阅或已经订阅过,继续创建问题
await handleCreateQuestion()
} else {
// 用户拒绝了订阅,显示提示后继续创建
uni.showModal({
title: '订阅提醒',
content: '为了及时接收回复通知,建议您开启订阅消息',
confirmText: '确定',
success: async (res) => {
if (res.confirm) {
// 用户点击确定,继续创建问题
await handl