融云即時通訊坑點總結(jié)2018-5-29

項目中包含直播通訊聊天以及客服聊天功能,在這里我集成了融云即時通訊的sdk边苹,當(dāng)然了陵且,也碰到了相應(yīng)的坑點,在這里記錄一下个束。

1.導(dǎo)入sdk包

在這里我用的是cocoapods導(dǎo)入的慕购,簡單無污染,最重要的是不用配置任何環(huán)境變量茬底,舒服沪悲!

pod 'RongCloudIM/IMLib', '~> 2.8.3'
pod 'RongCloudIM/IMKit', '~> 2.8.3' 

在這里一定要導(dǎo)入這兩個,再也不要只導(dǎo)入一個了阱表,因為IMLib負(fù)責(zé)通訊殿如,但是IMKit負(fù)責(zé)界面贡珊,如果以后需要添加新功能的話,IMKit是包含于IMLib的涉馁,最好兩個都導(dǎo)入门岔。

2.初始化

問題:我一開始初始化如下

[[RCIMClient sharedRCIMClient] initWithAppKey:RONGYUNAPPKEY];

后來改成了

[[RCDLive sharedRCDLive] initRongCloud:RONGYUNAPPKEY];

但是,如果項目里用到了界面的東西烤送,比如客服聊天這塊寒随,這樣初始化是無法自動更新消息的,所以要用到IMKit包的初始化

[[RCIM sharedRCIM] initWithAppKey:RONGYUNAPPKEY];

用IMKit包初始化帮坚,前臺接受消息默認(rèn)會有聲音妻往,關(guān)掉聲音如下

[[RCIM sharedRCIM] setDisableMessageAlertSound:YES];//關(guān)掉聲音

3.鏈接token

在這里用IMKit包方法連接token,其實用IMLib包貌似也是沒問題的试和,這里不贅述讯泣。

[[RCIM sharedRCIM] connectWithToken:token success:^(NSString *userId) {
        JJLog(@"successtOKEN == %@",userId);
        AccountModel *model = [AccountTool account];
        model.RYUserID = userId;
        [AccountTool saveAccount:model];
        //登錄成功后,與融云建立連接阅悍,設(shè)置聊天人的屬性
        RCUserInfo *user = [[RCUserInfo alloc]init];
        user.userId = [AccountTool account].RYUserID;
        //                user.portraitUri = @"logo_red_ry";
        user.portraitUri = [AccountTool account].portraitUri;
        //                user.name = @"大圣歸來";
        user.name = [AccountTool account].name;
        [RCIMClient sharedRCIMClient].currentUserInfo = user;
    } error:^(RCConnectErrorCode status) {
        
    } tokenIncorrect:^{
        
    }];

4.融云即時通訊(直播聊天部分)

在這里判帮,可以直接去官網(wǎng)下載給的demo,基本上可以按照他上面的來寫溉箕,但是有一個問題是晦墙,demo上用的是IMLib包來接收消息的,這個時候肴茄,你在appdelegate中只有將融云初始化寫成

[[RCDLive sharedRCDLive] initRongCloud:RONGYUNAPPKEY];

才可以正常和別人聊天晌畅,否則永遠(yuǎn)只有你自己在聊天。
但是我們上面的初始化也說了寡痰,要照顧到以后還會有別的拓展性功能抗楔,所以我們沒有用到IMLib包,用了IMKit包的話拦坠,我們就要修改這里通訊接收消息的方法连躏。具體如下:
1.原demo中,在當(dāng)前聊天界面贞滨,設(shè)置了消息監(jiān)聽代理代碼如下

[[RCIMClient sharedRCIMClient]setRCConnectionStatusChangeDelegate:self];

現(xiàn)在要改成IMKit包中的監(jiān)聽代理,如下:

[[RCIM sharedRCIM] setConnectionStatusDelegate:self];

2.再更改了代理后入热,需要實現(xiàn)代理方法中的IMKit連接狀態(tài)的的監(jiān)聽器方法
將原demo中的

/**
 *  連接狀態(tài)改變的回調(diào)
 *
 *  @param status <#status description#>
 */
- (void)onConnectionStatusChanged:(RCConnectionStatus)status {
    self.currentConnectionStatus = status;
}

修改成

- (void)onRCIMConnectionStatusChanged:(RCConnectionStatus)status {
    self.currentConnectionStatus = status;
}

3.在當(dāng)前聊天界面中,找到注冊監(jiān)聽Notification的方法晓铆,原demo方法如下

- (void)registerNotification {
    //注冊接收消息
    [[NSNotificationCenter defaultCenter]
     addObserver:self
     selector:@selector(didReceiveMessageNotification:)
     name:RCDLiveKitDispatchMessageNotification
     object:nil];
}

很明顯看到RCDLiveKitDispatchMessageNotification通知名是IMLib包中的東西勺良,所以要改成如下:

/**
 *  注冊監(jiān)聽Notification
 */
- (void)registerNotification {
    [[NSNotificationCenter defaultCenter]
     addObserver:self
     selector:@selector(didReceiveMessageNotification:)
     name:RCKitDispatchMessageNotification
     object:nil];
}

好了,其余的包括接收歷史消息骄噪,發(fā)送消息尚困,退出斷開連接的都用原dmeo中的即可,不用更改链蕊。

5.融云客服功能

融云客服功能用到的包就是IMKit包的內(nèi)容事甜,在這里界面的UI我們用到了demo中給的UI部分的代碼谬泌,由于demo中的代碼太多,在這里我單獨將我們需要的聊天界面代碼給抽了出來逻谦,點擊下載 掌实。然后直接貼上如下代碼即可

[[RCIM sharedRCIM] setReceiveMessageDelegate:self];
            RCDCustomerServiceViewController *chatService = [[RCDCustomerServiceViewController alloc] init];
#define SERVICE_ID @"您在融云后臺開通的客服ID"
            chatService.hidesBottomBarWhenPushed = YES;
            chatService.conversationType = ConversationType_CUSTOMERSERVICE;
            chatService.targetId = RONGYUNKEFUID;
            chatService.title = @"客服服務(wù)";
            RCCustomerServiceInfo *csInfo = [[RCCustomerServiceInfo alloc] init];
            csInfo.nickName = [AccountTool account].name;
            csInfo.portraitUrl = [AccountTool account].portraitUri;
            chatService.csInfo = csInfo; //用戶的詳細(xì)信息,此數(shù)據(jù)用于上傳用戶信息到客服后臺跨跨,數(shù)據(jù)的nickName和portraitUrl必須填寫潮峦。(目前該字段暫時沒用到囱皿,客服后臺顯示的用戶信息是你獲取token時傳的參數(shù)勇婴,之后會用到)
            [self.viewController.navigationController pushViewController :chatService animated:YES];

基本上沒有什么bug了。
再有什么問題嘱腥,可以去融云的知識庫中查詢一下耕渴。
總結(jié):其實融云最坑的不是代碼難易的問題,而是多種功能用的不同的包的問題齿兔,在這里由于項目中用到了這兩種包的東西橱脸,在這里碰到了坑,總結(jié)了一下分苇。寫的可能不是對每個人都有幫助添诉,如果你也贊同的話,請給我點個贊医寿,如果你有問題的話栏赴,可以留言告訴我。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末靖秩,一起剝皮案震驚了整個濱河市须眷,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌沟突,老刑警劉巖花颗,帶你破解...
    沈念sama閱讀 207,248評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異惠拭,居然都是意外死亡扩劝,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評論 2 381
  • 文/潘曉璐 我一進(jìn)店門职辅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來今野,“玉大人,你說我怎么就攤上這事罐农√跛” “怎么了?”我有些...
    開封第一講書人閱讀 153,443評論 0 344
  • 文/不壞的土叔 我叫張陵涵亏,是天一觀的道長宰睡。 經(jīng)常有香客問我蒲凶,道長,這世上最難降的妖魔是什么拆内? 我笑而不...
    開封第一講書人閱讀 55,475評論 1 279
  • 正文 為了忘掉前任旋圆,我火速辦了婚禮,結(jié)果婚禮上麸恍,老公的妹妹穿的比我還像新娘灵巧。我一直安慰自己,他們只是感情好抹沪,可當(dāng)我...
    茶點故事閱讀 64,458評論 5 374
  • 文/花漫 我一把揭開白布刻肄。 她就那樣靜靜地躺著,像睡著了一般融欧。 火紅的嫁衣襯著肌膚如雪敏弃。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,185評論 1 284
  • 那天噪馏,我揣著相機(jī)與錄音麦到,去河邊找鬼。 笑死欠肾,一個胖子當(dāng)著我的面吹牛瓶颠,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播刺桃,決...
    沈念sama閱讀 38,451評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼粹淋,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了虏肾?” 一聲冷哼從身側(cè)響起廓啊,我...
    開封第一講書人閱讀 37,112評論 0 261
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎封豪,沒想到半個月后谴轮,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,609評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡吹埠,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,083評論 2 325
  • 正文 我和宋清朗相戀三年第步,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片缘琅。...
    茶點故事閱讀 38,163評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡粘都,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出刷袍,到底是詐尸還是另有隱情翩隧,我是刑警寧澤,帶...
    沈念sama閱讀 33,803評論 4 323
  • 正文 年R本政府宣布呻纹,位于F島的核電站堆生,受9級特大地震影響专缠,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜淑仆,卻給世界環(huán)境...
    茶點故事閱讀 39,357評論 3 307
  • 文/蒙蒙 一涝婉、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧蔗怠,春花似錦墩弯、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,357評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至怠惶,卻和暖如春涨缚,著一層夾襖步出監(jiān)牢的瞬間轧粟,已是汗流浹背策治。 一陣腳步聲響...
    開封第一講書人閱讀 31,590評論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留兰吟,地道東北人通惫。 一個月前我還...
    沈念sama閱讀 45,636評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像混蔼,于是被迫代替她去往敵國和親履腋。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,925評論 2 344

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,527評論 25 707
  • 東北作家惭嚣、蕭紅的好朋友聶紺弩先生遵湖,也寫了一首這樣的詞來悼念蕭紅: 淺水灣頭浪未平, 禿柯樹上鳥嚶鳴晚吞。 海涯時有縷云...
    醉茶子閱讀 606評論 2 3
  • 在杭城延旧,一個月的雨水,就趕超了帝都一年的量槽地。重復(fù)著濕鞋刷鞋的動作迁沫,竟已在這度過了小半年時間。有時會想捌蚊,生命真的好神...
    榭寄若生閱讀 323評論 0 0
  • 依舊是盛夏的陽光穿過綠密的樹叢集畅,稀嚷的蟬聲掠過婆娑的樹影,陽光和著蟬聲從樹隙間洋洋灑灑地落下微光缅糟,溫溫暖暖...
    ofgb閱讀 515評論 0 4
  • 看到有些小伙伴留言說對我組織的百期讀書會感興趣挺智,如果你在深圳的話,可以私信我如下資料申請加入我們讀書會哦: 1窗宦、個...
    林瀟Ena閱讀 553評論 1 4