iOS 调用 QQ 客户端发起临时会话
一. 前言:
前段时间项目中有个需求, 在 App 内调用 QQ 客户端, 在不是好友前提下, 向指定的客服 QQ 发起临时会话, 很简单的一个需求, 但是实际实现起来却碰到很多问题.
- 1.QQ 开发者平台, 并没有找到 App 调用 QQ 客户端发起临时会话方法,(只提供了网页端接入方法)
- 2. 网上搜到的一些方法, 大部分都粗秒淡写, 要么可以调用 QQ 客户端, 不能成功发送消息, 要么是其他问题.
经过一段时间摸索, 发现接入方法相当简单, 现将接入方法分享给大家, 希望有同样需求的同鞋, 少走弯路.
二. 效果:
三. 需求:
- App 内调用 QQ 客户端, 在不是好友前提下, 向指定 QQ 号发起临时会话
四. 接入方法:
1. 用来接收临时消息 QQ 号 (拿这个 QQ 号举例: 1099779883) 需开通 QQ 推广功能, 未开通 QQ 推广功能, 是不能接收陌生人消息的, 开通方法如下:
- 1. 开通方式: 打开 QQ 推广网址 http://shang.qq.com 并用接收临时消息 QQ 号 (1099779883) 登录
- 2. 点击顶部导航栏: 推广工具,(如图):
- 3. 在弹出菜单中点击'立即免费开通'(如图:) 即可
2. 将 QQ(mqq 字段) 添加到项目 plist 文件白名单中 (iOS9 新出要求), 方法如下:
3. 直接上代码:
- //是否安装QQ
- if([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"mqq://"]])
- {
- //用来接收临时消息的客服QQ号码(注意此QQ号需开通QQ推广功能,否则陌生人向他发送消息会失败)
- NSString *QQ = @"1099779883";
- //调用QQ客户端,发起QQ临时会话
- NSString *url = [NSString stringWithFormat:@"mqq://im/chat?chat_type=wpa&uin=%@&version=1&src_type=web",QQ];
- [[UIApplication sharedApplication] openURL:[NSURL URLWithString:url]];
- }
五. 注意事项:
- 1. 由于开发文档中规定 App 的正常使用不能依赖其他 App, 所以在项目中集成此功能的童鞋要注意, 在未安装 QQ 客户端时建议影藏此功能, 不然上架有被拒风险.
- 2. 我前期上架一个项目, 便是这样处理的.
六. 小结:
2
分享到
来源: https://juejin.im/post/5a31d8f76fb9a04528467f46