评论

云开发实战:实现订阅消息推送

激活用户的必备方法

前言

最近在研究一个抽奖小程序,使用过抽奖小程序的同学都知道,在小程序开奖都时候都会有一个提醒让用户点击查看结果。查看结果后不管是否中奖,还会引导用户去抽其他的奖品,这一招可谓是一石二鸟,活跃和留存都做到了。

效果

步骤

想要实现发送模版消息有以下步骤:

  1. 管理后台申请模版
  2. 获取用户推送授权
  3. 进行推送订阅消息

实现

管理后台申请模版

进入后台选择订阅消息菜单,点击添加按钮

搜索关键词,选中你需要的模版

可自定义顺序和勾选需要的字段

选中成功后

在这里我们可以获取到【模板ID】,这个在授权的时候需要用到。

获取用户推送授权

在一个关键环节获取授权,比如我的抽奖小程序就是在点击抽奖按钮时获取的。

// 用户点击抽奖
lottery: function () {
    let that = this
    wx.requestSubscribeMessage({
      tmplIds: ['模版ID'],
      success(res) {
        console.log(res);
        that.onParticipate();
      },
      fail(err) {
        console.log(err);
        that.onParticipate();
      }
    })

用户同意一次授权就可以发起一次消息,这个是累计和消耗的。

进行推送订阅消息

云开发发送代码

const sendMessageRes = await cloud.openapi.subscribeMessage.send({
            touser: subscribe.openid,
            page: '/pages/index/index?lotteryId=' + subscribe.lotteryId,
            lang: 'zh_CN',
            data: {
              thing4: {
                value: subscribe.rewards.map(reward => reward.name + '×' + reward.winners).join(";")
              },
              time3: {
                value: subscribe.endTime
              },
              thing2: {
                value: '您参加的抽奖正在开奖,点击查看'
              }
            },
            templateId: subscribe.subscribeId,
            miniprogramState: 'developer'
            // miniprogramState: 'trial'
            // miniprogramState: 'formal'
          });

发送参数详细可见:官方文档
在这里需要注意就是data的参数需要对应上模版详细,如上面代码中的thing4,time3,thing2 需要对应。

总结

善用订阅消息可以让你的用户获得很好的体验同时又能留存。如果你觉得这个推送次数不太够的话,推荐使用引导用户关注服务号可以通过推送接口无限给用户推送小卡片。

最后一次编辑于  2020-08-26  
点赞 3
收藏
评论

2 个评论

  • 许全通
    许全通
    2020-12-01

    楼主你好,请问一下如果一次推送多个消息的话,有啥思路?

    2020-12-01
    赞同
    回复 3
    • 陈宇明
      陈宇明
      2020-12-02
      循环
      2020-12-02
      回复
    • 许全通
      许全通
      2020-12-02回复陈宇明
      不可能多次弹窗吧?一次弹窗可勾选多个订阅消息的,就是没有好的处理办法
      2020-12-02
      回复
    • 陈宇明
      陈宇明
      2020-12-02
      不是多次弹窗,授权你可以一次性授权多种不同的消息id
      2020-12-02
      回复
  • admin
    admin
    发表于小程序端
    2020-08-26
    楼主是怎么实现同时推送多人的
    2020-08-26
    赞同
    回复 2
    • 陈宇明
      陈宇明
      发表于小程序端
      2020-08-27
      循环发送推送
      2020-08-27
      回复
    • admin
      admin
      2020-08-27回复陈宇明
      那要是用户数多了怎么办,比如1000+
      2020-08-27
      回复
登录 后发表内容