探索、思考、创造、分享

数据驱动、坚持为客户提供有价值的服务和内容

当前位置: 南京小程序开发 > 小程序资讯 >
微信小程序怎么给用户推送消息?
来源:南京小程序开发   发布时间:2019-08-16 点击:
如果你有一个电商小程序,或是一个活动报名小程序,那么你可能会遇到这样的问题:
 
    1)当消费者购买商品后,如何通知他们东西发货了呢?
    2)如果用户报名成功,怎么样快速又方便地告知他们报名结果呢? 这时候,我们就需要用到小程序的「模板消息」接口。今天,小编就来教你如何正确地发送模板消息。 什么是模板消息? 顾名思义,模板消息是一种「套上模板的消息」。通常,服务方向用户推送的消息都带有通知性质,文案也相对固定。服务方将这类固定的文案制作成模板,这些文案就可以快速重复使用。 在发送时,服务方只需向模板内填充必要的数据(如客户名称、订单号、价格等),就可以将这条消息发送给用户了。 例如,航空公司可能会向用户发送这样的消息:
 
张三,您好,您已购买 1 月 1 日 13:00 从广州飞往上海的 AB1234 航班的机票。 从中可以得知,除了一些需要根据实际情况填写的信息,其他文案都是固定的。那么,就可以提取这样的消息模板:
(旅客姓名),您好,您已购买(时间)从(出发地)飞往(到达地)的(航班号)航班的机票。 当航空公司发送消息时,他们只需要根据实际情况填充信息,就可以将这条消息发送给相应的用户了。 微信小程序的模板消息限制 与普通的模板消息不同,在微信小程序中发送模板消息,具有一定条件。官方文档中规定,用户在小程序中进行支付或提交表单,小程序才能向用户发送模板消息。 那么,微信如何得知用户是否有支付行为、表单提交的行为呢? 用户支付或提交表单过后,开发者可以得到模板消息的 formID(为了方便解释,将它叫做「发送码」),这代表着开发者有发送模板消息的权限。开发者发送模板消息时,就需要向微信提供这样的发送码,完成模板消息的发送过程。 而且,发送码是一次性的,用一次就会作废。也就是说,如果用户只发起过一次支付或提交过一次表单,那么开发者也只能向用户发送一次消息。除了需要用户进行支付或提交表单,小程序也不能通过模板消息接口,群发推广信息、垃圾信息等。 如何发送模板消息? 知道了这些,就能得知,微信小程序发送模板消息的大致步骤是:     1、开发者在微信公众平台,创建一个新的消息模板;
    2、获取支付过程或提交过程中,微信返回的消息发送码;
    3、开发者利用消息发送码,带上模板中非固定的信息,向微信发起发送消息的请求。 那么,我们一步步开始吧。 创建新的消息模板 既然是「模板消息」,那第一步当然是创建新的模板了。
    1、打开 https://mp.weixin.qq.com 并登录小程序帐户;
    2、 点击左侧菜单中的「模板消息」;
    3、进入顶部的「模板库」,从微信预置的模板中,选择一个合适的模板;
    4、确定模板中所使用的关键词。 如果关键词列表中没有你希望使用的关键词,你可以点击申请一个新的关键词。但申请新的关键词需要提交审核。
小程序 推送
模板添加后,会获得模板 ID(template_id),稍后就可以用到它。
小程序 推送
获取模板消息发送码
创建消息模板后,还需要「发送码」,才能发送模板消息。
以提交表单为例,看看发送码的获取方式。
 
首先,在小程序中,放置一个带有 report-submit 属性的表单:
 
<form bindsubmit="formSubmit" bindreset="formReset" report-submit>
  <!-- 此处是表单元素 -->
  <button formType="submit">Submit</button><!-- 提交按钮 -->
</form>
 
然后,在页面的 Page() 函数中,新建一个提交表单的函数。
在函数中,就能接收到 formId,也就是发送码了。
 
var sendercode; // 用于存储发送码
Page({
  //其他的函数
  formSubmit: function(e) {
    sendercode = e.detil.formId;)
  }
 
如果你想在微信发起支付请求后,获取发送码,那么你需要调用微信支付中的「统一下单」接口。
当「统一下单」接口请求成功之后,回调值中的「预支付交易会话标识」,也就是 prepay_id,就可以作为发送码来使用。
 
发送模板消息
经过这么多步骤,终于可以向用户发送模板消息了。在这一步,所有过程都是在开发者的服务器完成。
首先,通过 GET 方式,获取到小程序的 Access Token:
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
接着,用 POST 方式,向微信提交模板消息的发送请求。
 
请求地址为:
https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=ACCESS_TOKEN
请求数据的格式如下:
 
  "touser": "OPENID", // 接收消息的用户的 OpenId,需要使用其他接口获取
  "template_id": "TEMPLATE_ID", // 模板 ID,在第一步中可以获取到
  "page": "index", // 进入小程序时打开的页面,可以添加参数
  "form_id": "FORMID", // 一次性发送码
  "data": { // 模板中非固定字段,用于填充模板
    "keyword1": {
      "value": "张三", // 模板中,填充字段的信息
      "color": "#173177" // 字段的展示颜色
    },
    "keyword2": {
      "value": "2015 年 01 月 05 日 12:30",
      "color": "#173177"
    }
  }
}
 
当接口返回成功消息时,就代表着模板消息已经发送出去了。有关于微信小程序模板消息接口的更多使用方法和使用限制,可以访问官方文档了解详情。
  • 上一篇:小程序开发需要多少费用
  • 下一篇:小程序运营需要了解的4中常用裂变方式
  • 最新资讯
    2020-06-22
    三招教你搞定微信搜索排名
    对于搜索引擎来说,以前大家都说:百度、Google、搜狗、36
    2020-06-22
    史上最全的微信SEO服务分享
    当前移动搜索引擎用户规模与市场份额空间达到最高点
    2020-06-17
    从流量时代到留量时代的运营方案
    相信很多人不懂公众号与小程序之间的关系,现在给大家简单
    2020-06-12
    小程序商城运营推广丨支付页添加商家微信
    微信小程序商城收款对接的是微信支付商户号,也有部分第三
    2020-06-10
    小程序能为实体商家带来些什么
    蹭着微信9亿+用户的巨大流量,小程序的出生可以说就是含金
    随机资讯
    2019-12-02
    微信小程序的优点为什么公司需要小程序
    什么是最热门的移动互联网企业产品我相信很多人会说微信小
    2019-08-16
    微信小程序怎么给用户推送消息?
    如果你有一个电商小程序,或是一个活动报名小程序,那么你
    2020-02-03
    南京小程序开发:微信公众号如何进行优化排名
    昨天给大家分享了微信公众号和网站之间的一些产品逻辑关系
    2020-01-10
    为什么说公司要开发微信小程序?
    什么是最热门的移动互联网企业产品我相信很多人会说微信小
    2019-09-07
    南京小程序开发:微信小程序商城开发主要功能
    企业在准备开发微信小程序商城开发前,首先需要规划下自己