用户未订阅此模板或者微信拒绝接收群消息受消息

模版消息推送是采用的通知形式 用户本人在小程序页面有交互行为后,可触发下发通知 通过微信聊天列表中的服务通知可快捷进入查看消息。此外点击查看详情还能跳转到下发消息的小程序的指定页面。但是为了避免这种通知被滥用带来不好的用户体验,小程序也对模板消息推送做了相应的限制为了更好的优化小打卡小程序的打卡通知功能,我在开发的过程中自行摸索了一套突破推送限制的解决方案可以实现 7天内向用户推送哆条模板消息,甚至向用户群发消息的功能 

注意:请务必在严格遵守小程序运营规范的前提下使用本方案。

消息通知是一个很重要的功能如QQ空间的回复状态通知,QQ邮箱的邮件通知微信支付成功提通知等。这种常规的 服务跟踪类 消息便于用户掌握产品对自身服务的进喥,方便客户获取必要的信息提高效率;保证用户的知情权,让用户有安全感同时,对于产品本身来说可以引导用户进行下一步行為, 增加了产品的曝光率便于用户留存,增强用户粘性

如上图,呈现在微信聊天列表的 服务通知 收纳了各个小程序向用户推送模板消息,这个服务通知是用户查看模板消息的入口用户点击服务通知后可以查看到通知列表页面,每条通知以卡片的形式呈现包括小程序的logo、名称、通知时间、通知内容等信息。

所谓『模板消息』就如上面的通知卡片,首先通知卡片形式样子是固定的其实卡片中的通知内容部分,可以看到每天通知的内容都具备日程描述、日程主题、日程时间等要素通知之间不同的地方在于这些要素后面的文案,将這些通知要素制作成模板每次针对不同的通知内容 只需要填充每条要素对应的具体的文本 即可推送给用户。上面图中两条模板消息的日程主题和时间不一样其他的信息要素保持一致,这就是模板消息

使用模板消息有哪些好处?

提到模板消息的好处第一印象是 "多、快、好、省" 的特点。

"快"即快捷体现在微信用户侧的通知体验,由于在微信客户端服务通知在聊天列表中保留了用户以往处理聊天通知的習惯,所以用户可以很 便捷地触及服务通知 查看小程序推送的模板消息。

"好"即效果好小程序的模板消息具备 跳转直达小程序特定页面 嘚能力,这样用户接收消息后查看消息的通知就能便捷地回到小程序进行相应的业务处理、信息查看等后续操作,一定程度上提升了用戶的活跃度小打卡小程序的近30天访问来源数据显示,有20%左右的用户通过模板消息这个入口进入小打卡在各种来源中排名第三位,可以見模板消息是用户使用你的小程序的重要入口

"省"即省钱呗,有了模板推送自然 降低了消息通知的成本 ,节省费用消息通知优先通过模板消息这种方式来推送给指定用户,只有才无法触及用户的情况下才使用传统的付费短信推送等形式。

"多"呢上面提到"无法触及用户嘚情况",其实是因为小程序不具备"多"的特点物以稀为贵,模板消息虽好但是微信小程序官方为了保证用户体验, 平衡通知和骚扰行为 对模板推送做了相应限制。接下来就聊聊这个限制

微信对模板消息有什么样的限制?

微信小程序允许下发模板消息的条件分为两类 支付或者提交表单 。

目前支付的限制有所放开即1次支付可以下发3条模板消息。通过提交表单来下发模板消息的方式限制为一次的触发行為7天内可以向用户推送一条模板消息。 这种消息的控制放的太宽的话很容易对用户的体验造成很大冲击,给用户带来一定的骚扰

但昰,用户1次触发、7天内推送1条通知明显是不够用的比如小打卡小程序利用模板消息的推送来提醒用户每天打卡,只能在用户前一天打卡嘚情况下获取一次推送模板消息的机会,然后用于第二天向用户发送打卡通知但是很多情况下,用户如果某一天忘记打卡小打卡便 夨去了提醒用户的权限,和用户断开了联系 

在小打卡中还有一个迫切需要多条模板消息推送的场景,比如打卡活动每次有新的成员进入需要通知管理员进行审核,这种情况也需要及时地通知管理员以便管理员快速响应,处理成员的审核请求并通知成员审核结果

注意箌下发条件中,每次触发的到的 推送码可以在未来7天内使用多次提交触发下发的消息条数独立,相互不影响 那能不能突破模板消息的發送限制,更好地优化打卡提醒功能呢

如何突破模板消息的推送限制?

微信小程序官方最近已经透露出可能对模板消息进一步放宽限制嘚信号不过在这之前,我们可以在遵守官方相关运营规范、保证用户体验的情况下倒腾一个 "让用户一次触发、多次推送,甚至群发模板消息" 的解决方案

其实仔细分析消息下发条件"1次提交表单可下发1条,多次提交下发条数独立相互不影响",突破口就明显了只需 收集箌足够推送码 ,即每次提交表单时获取到的formId就是我们所需的“推送权限”它是一次性的,代表着开发者有向当前用户推送模板消息的权限

为了打造这样一个突破限制的模版消息推送功能,做到7天内任性推送我们将小程序前后端的工作明确一下,小程序前端即运行在鼡户微信上的小程序负责 收集推送码 ,小程序后端即运行在服务器上的应用程序负责将推送码 存储到数据库 中,并在需要推送的模版消息的时候从中取出推送码formId判断有效性并加以运用整个方案的前后端业务流程如下:

 方案前后端流程

接下来我们设计一个能够突破当前模板消息推送限制的方案。结合 小程序前端界面、小程序逻辑层、服务器程序、数据库、异步任务系统 各自分工来实现将小程序模板消息嶊送所需的推送码收集、上报、存储、调用。最终做到7日内更好地推送模板消息、触及用户

一.前端页面如何尽可能多地收集推送码?

每佽表单提交可以触发一次下发模版消息的机会表单组件

在小程序的逻辑层中,通过全局变量gloabalFomIds收集到多个formId后可以在新页面载入时,在onLoad生命周期函数中发送网络请求获取数据 gloabalFomIds不为空时,把gloabalFomIds数组格式化为字符串发送到服务器并清空当前的gloabalFomIds ,以便继续获取新的formId

三.后端程序洳何保存推送码formId?

因为这个保存是一个高频IO的操作我们 后端以PHP结合高性能的key-value数据库Redis来实现推送码的存储 。相关关键代码如下简单表达叻思路,针对不同的后端环境和开发语言你可能需要做相应的调整。


 
这一步主要是构建服务器程序高效存储用户的推送码formId这下推送机會有了,接下来我们考虑如何 利用后端程序来想特定用户发送模板消息 考虑怎样去合理运用推送机会。

四.如何实现高性能的模板消息推送

 
 
构建高性能的服务器端异步任务推送,可以满足 模板消息的群发、以及定时发送 的需求如小打卡就采用了高性能分布式内存队列系統 BEANSTALKD,来实现模板消息的异步定时推送实现发送模板消息的群发、定时发送分为2个步骤:
  1. 设置任务执行时间并将该发送任务推送到异步任務队列。
  2. 通过任务发送服务轮询执行任务获取access_token、指定你需要推送消息的用户的openId,根据openId获取用户的推送码formId并结合模板id拼装模板上的通知內容,调用模板消息发送接口来异步发送
 
普通的模板消息的发送就不赘述了,可参考 一步步进行操作我们重点来看高性能异步任务推送的实现方法。涉及到的关键代码如下:

 
Beanstalkd是一个 高性能、轻量级的分布式内存队列系统 我们通过Beanstalkd将模板消息推送任务的创建以及任务的執行分开进行。


在创建推送任务时 设置任务的执行时间以及定义推送消息的类型和通知内容等数据 。


在任务执行时通过Beanstalkd的任务监听函數来捕获任务。通过预先在创建任务时标记的数据来确定模板消息的具体推送内容比如用户openId,通过用户openId获取一个可用的推送码formId获取推送内容等,最后在调用微信小程序模板消息下发接口完成推送


getFormId函数主要实现每次取出一个未过期可用的推送码formId,并且删除不可用的邀请碼和当前已选中的邀请码以保证一定数额的推送码formId在未来一周内可用。


关于Beanstalkd的使用介绍可用参考一下文章,深入研究








最后总结一下,整个方案涉及到的关键词有 表单、按钮、formId、模板消息、Redis、Beanstalkd 等涉及了多项技术的组合,包括 前端开发、后端开发、数据库技术 等且前後端分工明确,共同支撑整个方案地实现








正如我之前文章里所说的, 微信小程序开发的难点不在于小程序本身小程序开发技术是前后端一系列的技术的组合,开发者需要持续学习掌握、提升更多的相关开发技术,来更好地支撑产品的功能实现 最后,这个方案可以在鼡户最后一次使用小程序后的7天内对用户发送多条模板消息唤回用户,但是请 一定要在遵循微信官方的运营规范的前提下 合理使用这樣的模板消息推送功能。


知道合伙人互联网行家 推荐于

高級网络营销专家电子商务专家,北大青鸟网络营销师资深网络营销专家,现任新果教育新媒体营销讲师


信订阅号没2113有认证也可以使鼡群发功能的每5261天只能群发一次4102!操作如下:1653

  1. 找到“群发功能”点击,

  2. 选择群发的对象、性别、国家等

  3. 选择发送对象以后就可以发布消息了;

  4. 可以发布图文消息,也可以是文字、图片以及视频

  5. 注意:一天只能发布一次群发哦

你对这个回答的评价是?


不是是审核通过僦可以群发了

你对这个回答的评价是?


可以订阅号是否认证和能否群发没有关系。

只要已经申请通过了就可以做群发了。

申请通过了但是没认证,然后是可以群发问题是不可以同时群发图文字
可以群发消息?
那你在群发界面直接编辑图片或者文字上去就可以发的哦
每天只能发一篇的。

你对这个回答的评价是


没认证每天也可以推送一条消息

你对这个回答的评价是?

下载百度知道APP抢鲜体验

使用百喥知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的答案。

我要回帖

更多关于 微信拒绝接收群消息 的文章

 

随机推荐