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

一.前言:

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

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

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

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

二.效果:

三.需求:

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

四.接入方法:

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

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

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

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

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

1.在项目info.plist添加LSApplicationQueriesSchemes字段 类型Array

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

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

(0)

相关推荐

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

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

  • iOS实现微信/QQ显示最近拍摄图片的功能实例代码

    如果你刚刚拍摄了图片,在使用微信/QQ发生消息时会显示"你可能要发送的图片", 实现原理: 1.打开或重新进入聊天窗口时查询图库最新的照片, 对比拍照时间和当前时间的差,当低于阈值(例如一分钟)时就显示出来. PS:阈值是逻辑上判断是否最近的依据.优点:总能找到最近拍摄的图片: 缺点:每次都要查询图片数据,响应较慢. 2.注册图库变化监听(观察者模式), 响应图库的增删改事件, 拿到变化图片数据后做对应的逻辑. 优点: 实时响应: 缺点:影响性能, 在注册监听前拿不到变化数据. 实现方

  • PHP调用QQ互联接口实现QQ登录网站功能示例

    本文实例讲述了PHP调用QQ互联接口实现QQ登录网站功能.分享给大家供大家参考,具体如下: 调用QQ登录接口,首先要到QQ互联完善开发者认证信息,并通过审核,然后创建一个网站应用,获得APP ID和APP Key,通过审核后即可调用基本接口get_user_info(获得用户信息),实现QQ登录网站功能. 废话不多,上示例代码(QQ登录李维山博客): <?php header("Content-Type: text/html;charset=utf-8"); //应用APP ID

  • iOS 实现类似QQ分组样式的两种方式

    思路 思路很简单,对模型数据操作或则控制界面显示 先看下json部分数据 "chapterDtoList": [{ "token": null, "id": 1295, "chapterName": "第一章", "parentId": 0, "chapterLevel": 0, "attachmentUrl": "", &qu

  • iOS中仿QQ侧滑菜单功能

    UITabBarController做QQ侧滑菜单效果: 首先要了解UITabBarController的层级结构: UITabBarController加载的其它UIViewController的View都是被添加在UITransitionView上(这是一个私有API),UITransitionView在self.view的0层,UITabBar在的第一层. 所以我的思路是这样的: UITransitionView与UITabBar转移到一个新的View1上去,作为滑动的部分: 在View1

  • 如何在UpdatePanel中调用JS客户端脚本

    页面中加入了UpdatePanel后,Response.Write("<script>function dis (){alert('这是调用写在server的JS');}</script>")来调用客户端脚本,无任何提示的无反应.如何在UpdatePanel中调用JS客户端脚本呢? 方法:采用 ScriptManager.RegisterStartupScript(Control controlId,Type this.GetType(),String key,

  • iOS开发-调用系统相机和相册获取照片示例

    前言:相信大家都知道大部分的app都是有我的模块的,而在我的模块基本都有用户的头像等信息,并且是可以更改头像的.那么今天小编给大家简单介绍一下iOS开发中如何调用系统相机拍照或者相册获取照片.要获取系统相机或者相册,我们需要使用到 UIImagePickerController 这个类.下面我们来看一下如何实现: 首先,需要遵循 UIImagePickerController 代理的两个协议: <UIImagePickerControllerDelegate, UINavigationContr

  • js如何调用qq互联api实现第三方登录

    qq互联js SDK:http://wiki.connect.qq.com/js_sdk%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E 复制代码 代码如下: <script type=text/javascript> 在页面header中引入:<script type="text/javascript" src="http://qzonestyle.gtimg.cn/qzone/openapi/qc_loader.js"

  • c#调用qq邮箱smtp发送邮件修改版代码分享

    复制代码 代码如下: try            {                MailMessage mm = new MailMessage();                MailAddress Fromma = new MailAddress("xxxx@qq.com");                MailAddress Toma = new MailAddress("MMMMMMM@qq.com", null);              

  • Powershell中调用邮件客户端发送邮件的例子

    你可以使用Send-MailMessage发送邮件,但是你想从你默认MAPI客户端准备发送一份邮件,这也不是很麻烦: 复制代码 代码如下: $subject = 'Sending via MAPI client'$body = 'My Message'$to = 'tobias@powertheshell.com' $mail = "mailto:$to&subject=$subject&body=$body" Start-Process -FilePath $mail

随机推荐