- 小程序订阅消息:用户勾选了“总是保持以上选择,不再询问”以后,再触发按钮,订阅界面将永远不会在弹出?
1、用户勾选了“允许”、“总是保持以上选择,不再询问” 和 “确定”以后,订阅界面将永远不会在弹出,微信会默认一直订阅消息,触发几次,订阅几次 2、用户没有勾选“允许” ,但是勾选了 “总是保持以上选择,不再询问” 和 “取消”以后,订阅界面将永远不会在弹出,微信会默认一直拒绝订阅消息,触发几次,拒绝几次 3、用户只勾选“允许” 点击确定 或 用户不勾选“允许”,点击取消,每次触发,都会调起弹框。
2023-10-08 - 订阅通知选择了不在询问或者总是保持以上选择后授权框不再弹出了,怎么让授权框再次弹出?
微信版本8.0.34和基础库版本是最新的,清除开发者工具上面的缓存然后预览也没效果,但是在清除缓存后使用真机调试却可以再次弹出了,微信有关于设置不在询问改为再次询问吗
2023-04-11 - 小程序一次性订阅消息详解
简介 相对来说小程序发送通知用得更多的还是一次性订阅模版,发现社区挺多同学对一次性订阅的一些细节设定存在不少疑问。所以这里整理了一些常见的问题。 订阅框长这样,本文也围绕这个弹窗展开: [图片] 常见问题Q&A 1.获取模版ID 1.1 如何获取到合适的模版ID? 答:进入MP后台,https://mp.weixin.qq.com, 可以在【功能】->【订阅消息】->【公共模板库】选择合适的模版。选择后在【我的模版】 查看到模版ID。 注意: 不同小程序,选用同一个模版,生成的模版ID是不一样的。 [图片] 1.2 如何申请新的模版? 答:在MP后台申请,入口比较隐蔽。如要在【公共模版库】搜索任意模版,然后翻到最后一页,会出现【帮助我们完善模板库】的选项,点击进入申请新模版。比如此处我搜索了签到 [图片] 2.订阅次数 2.1 勾选了【总是保持以上选择,不再询问】,是不是就可以多次向发送通知了? 答:不能,用户没有再次点击触发订阅的按钮就不会增加订阅次数。勾选之后只是触发订阅时不再弹窗,保持上一次用户的选项进行订阅接口的调用。 2.2 用户一天内多次点击订阅后,是不是就能发送多条通知? 答: 是的,用户一天内点了N次订阅,就可以向用户发送多条通知。 2.3 用户点击订阅后,此次发通知机会的有效期是多久? 答: 永久有效。 2.4 勾选部分模版,再选择勾选 【总是保持以上选择,不再询问】,点击【确定】后,下次订阅哪几个模版的订阅次数会增加? [图片] 答: 如上图,只勾选了AB,然后保持选项点击【确定】,下次订阅时只有A,B模版的订阅次数会增加。 2.5 勾选部分模版,再选择勾选 【总是保持以上选择,不再询问】,点击【取消】后,下次订阅哪几个模版的订阅次数会增加? 答: 如果选择了【取消】+ 【保持选项】,所有订阅消息次数都不会再增加。如上图,不管是否勾选,A、B、C三个模版次数都不会增加。 2.6 勾选【总是保持以上选择,不再询问】选项后,如何修改选择? 答: 可以在小程序设置页面,配置是否接收模版消息。(小程序右上角三点按钮,可以唤起进入设置页面的面板) [图片] 2.7 为什么我设置的通知页面没有显示MP后台配置的通知模版? 答:只有勾选过【总是保持以上选择,不再询问】的模版消息才会进入这个配置页面。 2.8 关闭接口通知按钮后(上图红框内按钮),再开启,订阅次数怎么计算? 答: 关闭按钮后,所有通知都无法接收,订阅次数全部清零。所以重新开启后,也需要用户重新订阅才能再次发送通知。 3.弹窗相关 3.1 模版ABC已经勾选【保持选项】,在另一处同时订阅ADF,此时还会弹窗吗? 答: 会,但是弹窗中只会有两个模版DF,模版A不显示。 3.2 开发者勾选【总是保持以上选择,不再询问】后,怎么重新唤起弹窗? 答:微信开发者工具,清除全部缓存。重新生成二维码,测试机扫码后即可重新唤起弹窗。 Tips:登陆开发者工具的微信账号和需要重置弹窗的微信账号需要保持一致。
2024-09-04 - 小程序消息订阅全流程介绍
本文将介绍小程序消息订阅的完整流程 一、首先需要配置你的模板消息 1. 登录[微信公众平台](https://mp.weixin.qq.com/),进入“功能”>“订阅消息”。 2. 点击“新建模板”,选择一个模板,然后点击“下一步”。 3. 在模板详情页,可以看到模板的标题和内容。标题下面的小字就是模板内容中的参数,例如:{{thing1.DATA}}。 4. 可以根据需要修改参数的名称,例如将{{thing1.DATA}}改为{{thing1.活动名称}}。 5. 点击“保存”按钮,完成模板的配置。 这样就完成了模板的配置,接着以在小程序中发送订阅消息为例,通过调用wx.requestSubscribeMessage接口获取用户的订阅授权,用户同意授权之后通过调用云函数或者服务端接口来实际推送消息。下面是微信小程序中调用云函数的示例: // main.js wx.requestSubscribeMessage({ tmplIds: ['配置好的模板ID'], // 最多支持3条 success(res) { // 'accept'表示用户同意订阅该条id对应的模板消息 if (res['配置好的模板ID'] === 'accept') { // 用户同意订阅,调用云函数或服务器接口发送订阅消息 wx.cloud.callFunction({ name: 'sendSubscribeMessage', data: { templateId: '配置好的模板ID', openid: '用户的openid', data: { thing1: { value: '活动名称' }, // 其他参数... } }, success(res) { console.log('订阅消息发送成功', res) }, fail(err) { console.error('订阅消息发送失败', err) } }) } } }) 二、如何实现服务器接口发送订阅消息 在上面的示例中演示了小程序端唤起用户订阅授权的方式,接下去会介绍服务端的接口如何推送模板消息。 我们以node.js和express框架来演示: 1. 安装所需的依赖项: npm install express axios 2. 创建一个server.js文件,设置你的微信小程序信息: // server.js const express = require('express'); const axios = require('axios'); const app = express(); app.use(express.json()); const appId = '小程序AppID'; const appSecret = '小程序AppSecret'; 3. 添加一个用于发送订阅消息的接口: // server.js app.post('/sendSubscribeMessage', async (req, res) => { const { templateId, openid, data } = req.body; try { // 获取access_token const tokenResponse = await axios.get(`https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=${appId}&secret=${appSecret}`); const accessToken = tokenResponse.data.access_token; // 发送订阅消息 const messageResponse = await axios.post(`https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=${accessToken}`, { touser: openid, template_id: templateId, data: data }); res.json({ success: true, data: messageResponse.data }); } catch (error) { res.status(500).json({ success: false, error: error.message }); } }); const PORT = process.env.PORT || 3000; app.listen(PORT, () => { console.log(`Server is running on port ${PORT}`); }); 以上就是服务端发送模板消息的代码示例,在小程序端完成用户订阅授权后调用服务端接口即可完成完整的订阅消息推送流程。 三、可能遇到的问题 1. 用户无法收到订阅消息 确保用户已经同意接收订阅消息。在小程序中,需要调用requestSubscribeMessage接口来获取用户的订阅授权。如果用户同意订阅,接口返回的结果中会包含模板ID对应的状态为accept。 2. 订阅消息发送失败 检查服务器接口是否正确调用了微信小程序的API。确保已经获取了正确的access_token,并且在发送订阅消息时使用了正确的模板ID、用户openid和数据。 3. 订阅消息内容显示不正确 确保在微信公众平台上配置的订阅消息模板与在小程序中发送的数据相匹配。例如,如果模板中有一个参数为{{thing1.活动名称}},那么在发送订阅消息时,数据中也应该包含一个名为thing1的对象,其value属性为活动名称。 4. 订阅消息接口调用次数超过限制 微信小程序对订阅消息接口的调用次数有限制。如果小程序调用次数超过限制,可能会导致订阅消息发送失败。可以在[微信公众平台]查看小程序的接口调用情况,并根据需要调整调用频率。 5. 订阅消息模板无法修改 微信小程序订阅消息模板一旦创建,就无法修改。如果需要修改模板内容,可以创建一个新的模板,并在小程序中使用新的模板ID。
2023-05-29