iOS调用QQ客户端发起临时会话

一.前言:

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

二.效果:

DEMO.gif

三.需求:

  • App内调用QQ客户端,在不是好友前提下,向指定QQ号发起临时会话

四.接入方法:

1.用来接收临时消息QQ号(拿这个QQ号举例:1099779883)需开通QQ推广功能,未开通QQ推广功能,是不能接收陌生人消息的,开通方法以下:
  • 1.开通方式:打开QQ推广网址 http://shang.qq.com 并用接收临时消息QQ号(1099779883)登陆
  • 2.点击顶部导航栏:推广工具,(如图):
    Paste_Image.png
  • 3.在弹出菜单中点击'当即免费开通'(如图:)便可
    Paste_Image.png
2.将QQ(mqq字段)添加到项目plist文件白名单中(iOS9新出要求),方法以下:
  • 1.在项目info.plist添加LSApplicationQueriesSchemes字段 类型Array
  • 2.在此Array中添加一个 item 值设为:mqq(如图)
    Paste_Image.png
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.我前期上架一个项目,即是这样处理的.

六.小结:

  • 此项目代码我作了简单的封装:托管在github,有须要的童鞋能够下载: 代码地址:github.com/CoderZhuXH/…
相关文章
相关标签/搜索