博客> iOS App 调用QQ客户端,发起临时会话
iOS App 调用QQ客户端,发起临时会话
2017-10-17 22:04 评论:0 阅读:347 fly30s
ios app QQ临时会话 发起QQ临时会话

前言:

前段时间项目中有个需求,在App内调用QQ客户端,向指定的客服QQ发起临时会话,很简单的一个需求,但是实际实现起来却碰到很多问题.
  • 1.QQ开发者平台,并没有找到App 调用QQ客户端 发起临时会话方法,(只提供了网页端接入方法)
  • 2.网上搜到的一些方法,大部分都粗秒淡写,要么可以调用QQ客户端,不能成功发送消息,要么是其他问题.
经过一段时间摸索,发现接入方法相当简单,现将接入方法分享给大家,希望有同样需求的同鞋,少走弯路.

效果:

 DEMO.gif

接入方法:

*[再次整理下需求:App 内调用QQ客户端,在不是好友前提下,向指定客服QQ(比如1099779883)发起临时会话]
一.客服QQ(比如1099779883)需开通QQ推广功能,开通方法如下:
  • 1.开通方式:打开QQ推广网址 http://shang.qq.com 并用客服QQ(比如1099779883)登录
    2.点击顶部导航栏:推广工具,(如图):
     438081.png 3.在弹出菜单中点击'立即免费开通'(如图:)即可
     292633.png
二.将QQ(mqq字段)添加到项目plist文件白名单中(iOS9新出要求),方法如下:
  • 1.在info.plist添加LSApplicationQueriesSchemes字段 类型Array
    2.在此Array中添加一个 item 值设为:mqq(如图)
     plist.jpg
三.直接上代码:
    //是否安装QQ
    if([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"mqq://"]])
    {
         //用来接收临时消息的客服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.我前期上架一个项目,便是这样处理的.

    此项目代码我做了简单的封装:托管在github上,有兴趣童鞋可以下载来看看:

    代码地址:https://github.com/CoderZhuXH/XHChatQQ
收藏
0
sina weixin mail 回到顶部