iOS實現(xiàn)調(diào)用QQ客戶端發(fā)起臨時會話
一.前言:
前段時間項目中有個需求,在App內(nèi)調(diào)用QQ客戶端,在不是好友前提下,向指定的客服QQ發(fā)起臨時會話,很簡單的一個需求,但是實際實現(xiàn)起來卻碰到很多問題.
1.QQ開發(fā)者平臺,并沒有找到App調(diào)用QQ客戶端發(fā)起臨時會話方法,(只提供了網(wǎng)頁端接入方法)
2.網(wǎng)上搜到的一些方法,大部分都粗秒淡寫,要么可以調(diào)用QQ客戶端,不能成功發(fā)送消息,要么是其他問題.
經(jīng)過一段時間摸索,發(fā)現(xiàn)接入方法相當(dāng)簡單,現(xiàn)將接入方法分享給大家,希望有同樣需求的同鞋,少走彎路.
二.效果:

三.需求:
App內(nèi)調(diào)用QQ客戶端,在不是好友前提下,向指定QQ號發(fā)起臨時會話
四.接入方法:
1.用來接收臨時消息QQ號(拿這個QQ號舉例:10997**3)需開通QQ推廣功能,未開通QQ推廣功能,是不能接收陌生人消息的,開通方法如下:
1.開通方式:打開QQ推廣網(wǎng)址 http://shang.qq.com 并用接收臨時消息QQ號(109977**83)登錄
2.點擊頂部導(dǎo)航欄:推廣工具,(如圖):

3.在彈出菜單中點擊'立即免費開通'(如圖:)即可

2.將QQ(mqq字段)添加到項目plist文件白名單中(iOS9新出要求),方法如下:
1.在項目info.plist添加LSApplicationQueriesSchemes字段 類型Array
2.在此Array中添加一個 item 值設(shè)為:mqq(如圖)

3.直接上代碼:
//是否安裝QQ
if([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"mqq://"]])
{
//用來接收臨時消息的客服QQ號碼(注意此QQ號需開通QQ推廣功能,否則陌生人向他發(fā)送消息會失敗)
NSString *QQ = @"1099779883";
//調(diào)用QQ客戶端,發(fā)起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.由于開發(fā)文檔中規(guī)定App的正常使用不能依賴其他App,所以在項目中集成此功能的童鞋要注意,在未安裝QQ客戶端時建議影藏此功能,不然上架有被拒風(fēng)險.
2.我前期上架一個項目,便是這樣處理的.
相關(guān)文章
IOS 開發(fā)之PickerView文字和隨機數(shù)的使用
這篇文章主要介紹了IOS 開發(fā)之PickerView文字和隨機數(shù)的使用的相關(guān)資料,這里提供實例幫助大家理解掌握這部分內(nèi)容,需要的朋友可以參考下2017-08-08
iOS動態(tài)調(diào)整UILabel高度的幾種方法
在iOS編程中UILabel是一個常用的控件,下面這篇文章主要給大家介紹了關(guān)于iOS動態(tài)調(diào)整UILabel高度的幾種方法,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-12-12
iOS App開發(fā)中導(dǎo)航欄的創(chuàng)建及基本屬性設(shè)置教程
這篇文章主要介紹了iOS App開發(fā)中導(dǎo)航欄的創(chuàng)建及基本屬性設(shè)置教程,即用UINavigationController來編寫navigation,示例代碼為Objective-C語言,需要的朋友可以參考下2016-02-02
IOS 中UITextField和UITextView中字符串為空和空格的解決辦法
這篇文章主要介紹了IOS 中UITextField和UITextView中字符串為空和空格的解決辦法的相關(guān)資料,需要的朋友可以參考下2017-07-07
iOS使用音頻處理框架The Amazing Audio Engine實現(xiàn)音頻錄制播放
這篇文章主要為大家詳細介紹了iOS使用音頻處理框架The Amazing Audio Engine實現(xiàn)音頻錄制播放,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-04-04

