欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

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

程序员文章站 2023-12-15 23:56:16
一.前言: 前段时间项目中有个需求,在app内调用qq客户端,在不是好友前提下,向指定的客服qq发起临时会话,很简单的一个需求,但是实际实现起来却碰到很多问题. 1.q...

一.前言:

前段时间项目中有个需求,在app内调用qq客户端,在不是好友前提下,向指定的客服qq发起临时会话,很简单的一个需求,但是实际实现起来却碰到很多问题.

1.qq开发者平台,并没有找到app调用qq客户端发起临时会话方法,(只提供了网页端接入方法)

2.网上搜到的一些方法,大部分都粗秒淡写,要么可以调用qq客户端,不能成功发送消息,要么是其他问题.

经过一段时间摸索,发现接入方法相当简单,现将接入方法分享给大家,希望有同样需求的同鞋,少走弯路.

二.效果:

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

三.需求:

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

四.接入方法:

1.用来接收临时消息qq号(拿这个qq号举例:10997**3)需开通qq推广功能,未开通qq推广功能,是不能接收陌生人消息的,开通方法如下:

1.开通方式:打开qq推广网址 http://shang.qq.com 并用接收临时消息qq号(109977**83)登录

2.点击顶部导航栏:推广工具,(如图):

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

3.在弹出菜单中点击'立即免费开通'(如图:)即可

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

2.将qq(mqq字段)添加到项目plist文件白名单中(ios9新出要求),方法如下:

1.在项目info.plist添加lsapplicationqueriesschemes字段 类型array

2.在此array中添加一个 item 值设为:mqq(如图)

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

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.我前期上架一个项目,便是这样处理的.

上一篇:

下一篇: