微信小程序 如何订阅消息?

这篇具有很好参考价值的文章主要介绍了微信小程序 如何订阅消息?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

微信公众号

微信公众号分为两种类型:订阅号和服务号,它们在功能和使用方式上有一些区别。

1.订阅号(Subscription Account):

	主要用于向用户提供信息、资讯、新闻等更新性内容。
	每天可以发送1条群发消息给所有关注者。
	发送的消息在用户的订阅号消息列表中按时间排序显示,不会直接发送到用户的主要聊天列表。
	用户关注后,默认不会收到订阅号的模板消息和客服消息。

2.服务号(Service Account):

提供更多的功能,可以与用户进行交互和提供个性化服务。
可以通过模板消息和客服消息与用户进行互动,推送更多种类的消息类型。
可以每月发送4条群发消息给所有关注者,且每条消息可以发送给更多用户。
发送的消息会直接显示在用户的主要聊天列表中。

微信公众号的类型是在注册时选择的,一旦选择了订阅号或服务号,无法直接转换。如果您主要是提供资讯和更新性内容,订阅号可能更适合;如果您需要与用户进行更多的互动和提供个性化服务,服务号则更适合。

订阅消息

订阅消息,一般更适用于小程序或小游戏,程序按照一定的触发规则,来给用户推送已订阅的消息。

微信订阅消息,官方文档

订阅步骤:

1.设置订阅模板

微信小程序 如何订阅消息?,微信小游戏,微信小程序,小程序

2.前端授权订阅


wx.requestSubscribeMessage({
	tmplIds: tmplIds,
	success (res) {
		console.log("订阅消息成功:",res);
		let temlIdsOk:string[]=[];
		for(let tmplId of tmplIds){
			//1.accept 接受  2.reject 拒绝 3.ban 被后台禁用 4.filter 该模板因为模板标题同名被后台过滤 
			if(res[tmplId]=="accept"){
				temlIdsOk.push(tmplId);
			}
		}
		if(func)func(temlIdsOk);
	},
	fail(res){
		console.log("订阅消息失败:",res,res.errCode);
		/*10001	参数传空了
		10002 网络问题,请求消息列表失败
		10003 网络问题,订阅请求发送失败
		10004 参数类型错误
		10005 无法展示 UI,一般是小游戏这个时候退后台了导致的
		
		20001 没有模板数据  
		20002模板消息类型 既有一次性的又有永久的 
		20003 模板消息数量超过上限 
		20004 用户关闭了主开关,无法进行订阅 
		20005 小游戏被禁封
		*/
		
		wx.getSetting({
			withSubscriptions: true,
			success(res) {
				//具体模板 接受状态
				res.subscriptionsSetting[模板id]
				//总开关 开启状态
				const mainSwitch = res.subscriptionsSetting.mainSwitch;
				console.log('消息通知总开关状态:',res, mainSwitch);
			},
			fail(err) {
				console.error('获取授权设置失败:', err);
			}
		});
	}
})

微信小程序 如何订阅消息?,微信小游戏,微信小程序,小程序

订阅消息有两种方式:一次性订阅和长期订阅。

一次性订阅(Once Subscription):

	1.适用于临时性的订阅需求,例如用户只需要接收一次性的通知或事件提醒。
	
	2.选择订阅某个特定的模板消息,没有勾选“总是保持以上选择”。
	
	3.用户在收到一次性订阅消息后,将无法再次收到相关的订阅消息。
	

长期订阅(Long-term Subscription):


	1.适用于长期性的订阅需求,用户需要持续接收某个特定类型的消息推送。
	
	2.选择订阅某个模板消息,并勾选“总是保持以上选择”。

	3.用户可以随时在微信设置中取消对某个或所有模板消息的订阅权限,或者重新进行订阅选择。
	

订阅后,会出现在小程序,设置列表
微信小程序 如何订阅消息?,微信小游戏,微信小程序,小程序

3.后端发送消息:

首先须在MP后台:开发 -> 开发管理 -> 开发设置 -> 开启消息推送

微信小程序 如何订阅消息?,微信小游戏,微信小程序,小程序
开启消息推送,需要一次简单验证:

1.填写好url和token

微信小程序 如何订阅消息?,微信小游戏,微信小程序,小程序
2.编写验证代码,验证服务器地址的有效性


private function checkSignature()
{
    $signature = $_GET["signature"];
    $timestamp = $_GET["timestamp"];
    $nonce = $_GET["nonce"];
		
		$echostr= $_GET["echostr"];
		//填写的TOKEN
    $token = TOKEN;
    $tmpArr = array($token, $timestamp, $nonce);
    sort($tmpArr, SORT_STRING);
    $tmpStr = implode( $tmpArr );
    $tmpStr = sha1( $tmpStr );

    if ($tmpStr == $signature ) {
        return $echostr;
    } else {
        return "验证失败";
    }
}


3.点击绿色按钮,提交,微信会访问一次第一步填写的url,若是返回的echostr,则配置成功。

4.后端推送订阅消息

//请求地址
POST https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=ACCESS_TOKEN

//请求参数
//调用凭证
access_token
//推送用户 openId
touser
//模板id 需用户订阅才可以
template_id
//模板数据
data   { "key1": { "value": any }

5.微信收到消息:

消息会出现在"服务通知"里边。

微信小程序 如何订阅消息?,微信小游戏,微信小程序,小程序文章来源地址https://www.toymoban.com/news/detail-737429.html

到了这里,关于微信小程序 如何订阅消息?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包