微信小程序消息推送功能开发

订阅消息功能允许小程序在满足一定条件时向用户发送消息。这需要用户主动触发一个事件来订阅消息,比如点击一个按钮。以下是使用uni-app实现小程序订阅消息功能的基本步骤:

  1. 订阅消息模板准备

    在微信公众平台对应的小程序后台中,你需要创建消息模板,并获取模板ID。模板中定义了消息的格式和内容。


    image.png
  1. 调用订阅消息API

    接下来,在页面中添加一个按钮,当用户点击这个按钮时,会触发订阅消息。

    修改首页组件 index.vue 来添加一个方法,用来调用微信的 requestSubscribeMessage API。

    <template>
      <view>
        <button @click="subscribeToMessages">订阅消息</button>
      </view>
    </template>
    
    <script>
    export default {
      methods: {
        subscribeToMessages() {
          wx.requestSubscribeMessage({
            tmplIds: ['your-template-id'], // 替换为你的模板ID
            success: (res) => {
              if (res['your-template-id'] === 'accept') {
                console.log('用户同意接收订阅消息');
                // 在这里,你可以执行后续的业务逻辑
              } else {
                console.log('用户拒绝接收订阅消息');
              }
            },
            fail: (err) => {
              console.error(err);
            }
          });
        }
      }
    };
    </script>
    
  2. 发送订阅消息

    用户同意订阅后,你需要在服务器端处理发送逻辑。这通常涉及到调用微信的服务端API,并使用获取到的模板ID和用户的 openid 来发送消息。

请记住,你的小程序需要获得用户的同意才能发送订阅消息,且用户每次同意的订阅只对应单次发送。对于每次不同的推送内容,你需要再次获取用户的订阅同意。

错误信息 "requestSubscribeMessage:fail can only be invoked by user TAP gesture." 指的是 wx.requestSubscribeMessage 方法必须由用户的点击操作触发,不能通过程序自动调用。这是小程序平台为了防止滥用订阅消息功能而设置的限制。

确保订阅消息的请求是在用户点击事件的处理函数中调用,而不是在生命周期函数或者任何非用户交互的逻辑中。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容