04 微信公众号开发原理

简介: 04 微信公众号开发原理

1.被动回复

粉丝发消息,公众号回复消息。

2.主动告知

公众号主动给粉丝发消息,例如文字、语音、图文。

3.内嵌网页

利用内嵌网页链接跳转到网页的形式,向粉丝展示信息内容,或者实现复杂的交互业务逻辑。

4.明确需求

公众号主要通过:公众号消息会话、 公众号内网页 来为用户提供服务的。

公众号消息会话:公众号是以微信用户的一个联系人形式存在的,消息会话是公众号与用户交互的基础。

公众号内网页:许多复杂的业务场景,需要通过网页形式来提供服务。

5.公众平台预定义功能

5.1 被动回复——接收粉丝消息并回复

5.2主动告知——主动给粉丝发消息

5.3 内嵌网页——嵌入网页链接,跳转到网页展现

6. 不给力,满足不了

设想两个场景:

  1. 公众号的消息自动回复想做的智能一些,类似于iphone的Siri,例如粉丝发送“今天的北京天气”到公众号,回复粉丝信息时要按照特定时间特定城市给予反馈;
  2. 公众号内嵌的网页需要获取浏览用户的微信头像、昵称、当前定位等信息。

以上两个场景,均无法在公众平台的预定义功能设置中通过配置完成。

怎么办?

7.无扩展应用模型

7.1 公众号消息会话

7.2 公众号内网页

8.有扩展应用模型

8.1 公众号消息会话

8.2 公众号内网页

9.公众号接口

9.1 公众号消息会话

目前公众号内主要有这样几类消息服务的类型,分别用于不同的场景。

群发消息:公众号可以以一定频次(订阅号为每天1次,服务号为每月4次),向用户群发消息,包括文字消息、图文消息、图片、视频、语音等。

被动回复消息:在用户给公众号发消息后,微信服务器会将消息发到开发者预先在开发者中心设置的服务器地址(开发者需要进行消息真实性验证),公众号可以在5秒内做出回复,可以回复一个消息,也可以回复命令告诉微信服务器这条消息暂不回复。被动回复消息可以设置加密(在公众平台官网的开发者中心处设置,设置后,按照消息加解密文档来进行处理。其他3种消息的调用因为是API调用而不是对请求的返回,所以不需要加解密)。

客服消息:在用户给公众号发消息后的48小时内,公众号可以给用户发送不限数量的消息,主要用于客服场景。用户的行为会触发事件推送,某些事件推送是支持公众号据此发送客服消息的,详见微信推送消息与事件说明文档。

模板消息:在需要对用户发送服务通知(如刷卡提醒、服务预约成功通知等)时,公众号可以用特定内容模板,主动向用户发送消息。

9.2 公众号内网页

对于公众号内网页,提供以下场景接口:

网页授权获取用户基本信息:通过该接口,可以获取用户的基本信息

微信JS-SDK:是开发者在网页上通过JavaScript代码使用微信原生功能的工具包,开发者可以使用它在网页上录制和播放微信语音、监听微信分享、上传手机本地图片、拍照等许多能力。

9.3 微信开发者文档

微信开发者文档网址 https://mp.weixin.qq.com/wiki/home/index.html

目录
相关文章
|
小程序 PHP
微信公众号开发(一)打通服务器与微信之间的通信
说来惭愧PHP做了这么久,好像就没有从头开发过一个微信公众号,这次刚好有机会从头接入开发一个完整的公众号,也不能说完整,但是这些微信的接口我基本上都试一试~看看大概是什么情况。 首先:打通服务器与微信之间的通信。
364 0
|
自然语言处理 搜索推荐 小程序
微信公众号接口:解锁公众号开发的无限可能
微信公众号接口是微信官方提供的API,支持开发者通过编程与公众号交互,实现自动回复、消息管理、用户管理和数据分析等功能。本文深入探讨接口的定义、类型、优势及应用场景,如智能客服、内容分发、电商闭环等,并介绍开发流程和工具,帮助运营者提升用户体验和效率。未来,随着微信生态的发展,公众号接口将带来更多机遇,如小程序融合、AI应用等。
|
开发者
微信公众平台开发基本配置
微信公众平台开发基本配置
840 0
|
Go
【微信公众号】基于golang的公众号开发基本配置
【微信公众号】基于golang的公众号开发基本配置
580 0
|
小程序 JavaScript 前端开发
简述微信小程序原理
简述微信小程序原理
472 1
|
Java API
java进行微信公众号开发
java进行微信公众号开发
459 0
|
小程序 PHP 开发者
微信公众号开发(八)生成带参数二维码,以及将二维码下载至本地
微信的二维码真是个神奇的东西。在我们开发中,应用也是很多~ 用户扫描带场景值(参数)二维码时,可能推送以下两种事件:
1030 1
|
XML 移动开发 小程序
微信公众号开发(七)微信h5跳转小程序及小游戏示例
最近公司做活动,需要从h5页面跳转至微信小游戏。 当时接到这个需求的时候,就在想,这玩意能相互跳转么? 后来百度了一下,还真行。
1138 1
|
人工智能 Python
【Python + 微信】微信公众号开发避坑指南
【Python + 微信】微信公众号开发避坑指南
742 0
|
Linux 网络安全 开发工具
【超详细!超多图!】【代码管理】Python微信公众号开发(3)- 服务器代码上传Github
【超详细!超多图!】【代码管理】Python微信公众号开发(3)- 服务器代码上传Github
727 0