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 (必须是这个 别问为什么 我也不知道.)这样就搞定了.

你可能感兴趣的:(iOS调用QQ客户端,发起临时会话)