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

多方查找 有两种方式
一. 不接入sdk 通过 QQ推广功能 发起临时会话必须打开的QQ开启了推广功能(http://shang.qq.com 这个网站开启), 否则打不开

//是否安装QQ
if([[UIApplicationsharedApplication] canOpenURL:[NSURLURLWithString:@"mqq://"]]) { 
  //用来接收临时消息的客服QQ号码(注意此QQ号需开通QQ推广功能,否则陌生人向他发送消息会失败) 
  NSString *QQ = @"370198623";
  //调用QQ客户端,发起QQ临时会话 
  NSString *url = [NSStringstringWithFormat:@"mqq://im/chat?chat_type=wpa&uin=%@&version=1&src_type=web",QQ]; 
  [[UIApplicationsharedApplication] openURL:[NSURLURLWithString:url]]; 
}

二. 接入sdk 通过api 发起临时会话这种方法没有QQ号限制,可以打开任意QQ会话界面 缺点就是需要集成sdk增加app大小(如果有分享功能已经接入sdk,可以直接使用)

NSString *QQ = @"370198623";
QQApiWPAObject *wpaObj = [QQApiWPAObject objectWithUin:QQ];
SendMessageToQQReq *req = [SendMessageToQQReq reqWithContent:wpaObj];
[QQApiInterface sendReq:req];

如果不行且返回 EQQAPIQQNOTSUPPORTAPI 错误需要在项目info.plist添加LSApplicationQueriesSchemes字段 类型Array添加 mqqwpa 这个scheme (必须是这个 别问为什么 我也不知道.)这样就搞定了.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容