ios应用接入微信开放平台

简介:

前几天试了一下服务端接入微信公众平台,昨天又看了一下APP接入开放平台

开放平台和公众平台的区别

公众平台针对的是公众账号,除了提供管理后台之外,也开放了若干接口,让微信服务器和开发者自己的应用系统能够对接

开放平台是微信的整体接入方式,不局限于公众账号(订阅号,服务号),移动APP和web应用也可以通过开放平台,实现与微信对接。可以说,公众平台的API部分,是开放平台的一个子集

开放平台大体上分为3个部分,分别针对移动APP,WEB应用,公众账号的接入

移动APP接入开放平台的作用

目前,移动APP接入微信开放平台后,可以获得以下的特性:

1、向微信好友发消息

2、发消息到朋友圈

3、收藏内容到“我的收藏”

4、用微信账号登陆APP,获得微信账号的信息

5、支持微信支付

在朋友圈可以看到一个消息后面跟着“来自XXX”,这就是XXX应用接入开放平台后得到的能力

ios app接入方式

流程和代码都不复杂,具体方法请看开放平台官网,本文不赘述。只提醒一点,需要在xcode里配置你自己APP的URL Type,URL Schemas需要填写微信开放平台提供的那个app id。如果漏掉了这一步,一样可以发消息到微信,但是发完消息以后就无法从微信再跳转回你的APP了,因为微信客户端也是通过openURL方法,跳回你的APP,需要你的APP自己注册上URL Schemas


对接微信的原理

首先,一个大的限制是,APP不可能通过微信提供的SDK,直接把消息发到微信服务器上。而是从开发者的APP中,打开微信应用,然后还是由微信把消息发出去,再跳回开发者自己的APP。也就是说,APP和微信的交互,是通过应用间跳转来完成的,所以核心还是iOS的这2个方法:

整个交互的原理就是这样。具体到对接的代码里,主要是2个流程:


1、应用主动发消息给微信。应用调用sendReq方法,然后在onResp方法里处理微信的响应

2、微信发消息给应用。应用在onReq里处理微信的请求,然后调用sendResp方法发响应到微信

然后这2个流程里用到的参数,都是微信SDK里提供的封装类,如SendMessageToWXReq,WXMediaMessage等

对接微信的限制

如上所述,由于SDK并没有提供应用直接发送请求到微信服务器的能力,而只能带参数跳转到微信APP,所以接入的限制还是比较大的,很多事情都做不了。

比如说,用户的设备上一定要装有微信,而且已经处于登陆状态。因此很多for iPad的APP,就很难对接微信。因为会在iPad上安装微信的用户是很少的,一般都是装在手机上

还有,也无法实现在自己的APP里选定用户发送,只能是编辑好内容,跳到微信里,在微信通讯录里选要发送的好友

也不能根据手机号,直接向微信账号发送申请加为好友的请求

……

尽管如此,对接微信之后,对APP的社交传播还是有较大的价值,所以现在可以看到大部分的APP,都有接入微信的功能









本文转自ljianbing51CTO博客,原文链接: http://blog.51cto.com/ljianbing/1604914,如需转载请自行联系原作者



相关文章
|
2月前
|
iOS开发 开发者
苹果iOS App Store上架操作流程详解:从开发者账号到应用发布
很多开发者在开发完iOS APP、进行内测后,下一步就面临上架App Store,不过也有很多同学对APP上架App Store的流程不太了解,下面我们来说一下iOS APP上架App Store的具体流程,如有未涉及到的部分,大家可以及时咨询,共同探讨。
|
2月前
|
开发者 iOS开发
iOS应用上架详细图文教程(上)
App Store作为苹果官方的应用商店,审核严格周期长一直让用户头疼不已,很多app都“死”在了审核这一关,那我们就要放弃iOS用户了吗?当然不是!本期我们从iOS app上架流程开始梳理,详细了解下iOS app上架的那些事。
|
2月前
|
Swift iOS开发 开发者
iOS 应用上架流程详解
iOS 应用上架流程详解
|
2月前
|
Android开发 iOS开发 UED
appuploader   iOS 应用自动发布
appuploader   iOS 应用自动发布
|
3月前
|
存储 监控 iOS开发
iOS应用崩溃了,如何通过崩溃手机连接电脑查找日志方法
在iOS应用开发过程中,调试日志和奔溃日志是开发者必不可少的工具。当iOS手机崩溃时,我们可以连接电脑并使用Xcode Console等工具来查看日志。然而,这种方式可能不够方便,并且处理奔溃日志也相当繁琐。克魔助手的出现为开发者带来了极大的便利,本文将详细介绍其功能和使用方法。 克魔助手会提供两种日志,一种是实时的,一种的是崩溃的。(由于崩溃日志的环境很麻烦,目前只展示实时日志操作步骤)
|
3月前
|
存储 iOS开发
iOS 开发,如何进行应用的本地化(Localization)?
iOS 开发,如何进行应用的本地化(Localization)?
122 2
|
3月前
|
算法 iOS开发 UED
iOS如何进行应用的性能优化?
iOS如何进行应用的性能优化?
41 2
|
2月前
|
Linux 数据安全/隐私保护 iOS开发
如何使用 Xcode 打包导出 IPA 文件并进行 iOS 应用内测,无需支付苹果开发者账号费用?
如何使用 Xcode 打包导出 IPA 文件并进行 iOS 应用内测,无需支付苹果开发者账号费用?
|
2天前
|
存储 编解码 JSON
利用SwiftUI构建高效iOS天气应用
【4月更文挑战第21天】 在本文中,我们将深入探讨如何运用SwiftUI框架打造一个响应迅速且用户友好的iOS天气应用程序。我们将重点放在利用SwiftUI的声明式语法简化界面开发,并通过结合Core Location和Networking APIs实现实时天气数据的获取与展示。文章将详细阐述整个开发过程,包括API集成、数据模型设计、用户界面布局以及动态适配不同屏幕尺寸的策略。
|
1月前
|
安全 数据安全/隐私保护 虚拟化
iOS应用加固方案解析:ipa加固安全技术全面评测
iOS应用加固方案解析:ipa加固安全技术全面评测
37 3