最近公司要做一個(gè)社交 app,對(duì)于時(shí)間就是金錢的當(dāng)今社會(huì)舀寓,招聘大量人才去搭建通訊系統(tǒng)肯定是不劃算的胆数,花費(fèi)人力物力財(cái)力做出來的 app,可能還沒人用基公。那就瞎了幅慌。所以毋庸置疑宋欺,一拍即合轰豆,用第三方的。就開始了對(duì)于目前市面上主流的第三方 IM SDK 進(jìn)行調(diào)研齿诞。其中有騰訊云酸休,網(wǎng)易云信,融云祷杈,環(huán)信等斑司。列出了一堆對(duì)比條件,最后領(lǐng)導(dǎo)拍板用哪個(gè)但汞。末端程序員是沒有選擇權(quán)的宿刮。好好搬磚就可以了~要明白自己的身份,嘎嘎
過程不說了私蕾,最后選擇了用融云僵缺,廢話不多說,直接勒這里只介紹一下如何快速集成踩叭,讓倆人聊起來磕潮,這也算是一個(gè)里程碑啊。對(duì)于程序員來說容贝,聊不起來可就毀了自脯,領(lǐng)導(dǎo)都特么奶兇奶兇的~~
1.先到融云官網(wǎng) (https://www.rongcloud.cn/) 進(jìn)行注冊(cè)(注冊(cè)按鈕自己找吧),這個(gè)可以讓你們產(chǎn)品經(jīng)理或者啥領(lǐng)導(dǎo)去做斤富,可以用公司的郵箱膏潮,別用自己的吧,后期自己換了地兒满力,對(duì)公司也是損失不是焕参。注冊(cè)后添加應(yīng)用屋谭,拿到 appkey
2.xcode 創(chuàng)建一個(gè)新工程,或者找自己公司的項(xiàng)目龟糕,這里我推薦使用 pod 方式管理第三方桐磁,方便快捷,省時(shí)省力讲岁。因?yàn)槭謩?dòng)方式太落后了我擂,且配置繁瑣,稍有遺漏就會(huì)報(bào)錯(cuò)缓艳,有些報(bào)錯(cuò)排查起來費(fèi)時(shí)費(fèi)力費(fèi)心費(fèi)電校摩,所以還是老老實(shí)實(shí)的用 pod 吧。不聽老人言阶淘,吃虧在眼前衙吩,聽哥的沒錯(cuò),融云文檔寫了如何用 pod溪窒,幾行命令的事坤塞。弄完后,也就是把 SDK 集成好了澈蚌,跑一下工程摹芙,如果不報(bào)錯(cuò),祝賀你兄嘚宛瞄,馬上可以聊天了浮禾,看下一步
3.需要在 appDelegate 中導(dǎo)入頭文件。#import <RongIMKit/RongIMKit.h>份汗。對(duì)了盈电,我們用的是帶界面的 SDK,快速集成不費(fèi)事杯活。
4.初始化 SDK
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
//下邊引號(hào)內(nèi)需要替換為你的 appkey匆帚,別特么原封不動(dòng)的抄哈,嘎嘎
[[RCIM sharedRCIM] initWithAppKey:@"融云開發(fā)者后臺(tái)的 AppKey"];
return YES;
}
5.這一步該連接融云了兄嘚
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[[RCIM sharedRCIM] initWithAppKey:@"獲取到的 AppKey"];
[[RCIM sharedRCIM] connectWithToken:@"開發(fā)者的 server 通過請(qǐng)求 server api 獲取到的 token 值"
dbOpened:^(RCDBErrorCode code) {}
success:^(NSString *userId) {}
error:^(RCConnectErrorCode status) {}];
return YES;
}
敲黑板1:在這我得多說你幾句,必須要看成功回調(diào)和失敗回調(diào)的調(diào)用轩猩,進(jìn)了 success 就是成功了卷扮,進(jìn)了 error 就是錯(cuò)誤了。錯(cuò)誤了你要看 status 狀態(tài)碼啊均践,根據(jù)錯(cuò)誤碼來找問題晤锹。我在調(diào)試過程中就遇到了 RC_CONN_TOKEN_INCORRECT 錯(cuò)誤碼,顧名思義:token 不正確彤委。這個(gè)就要找自己的服務(wù)端人員看是哪里問題導(dǎo)致的 token 不正確了鞭铆。
敲黑板1:還有 @"開發(fā)者的 server 通過請(qǐng)求 server api 獲取到的 token 值",這個(gè) token,在剛開始測(cè)試的時(shí)候车遂,你們的服務(wù)端可能還沒集成封断,所以可以先到融云開發(fā)者后臺(tái)“服務(wù)管理” - “API 調(diào)用” - “用戶服務(wù)” - “獲取 Token” 那里,隨便輸入一個(gè) userId舶担,name坡疼,portraitUri,就可得到 token 了衣陶。用這個(gè) token 去連接即可柄瑰,省時(shí)省力。
6.至此剪况,恭喜你啊教沾,已經(jīng)連接融云成功了。下一步就是該琢磨如何找人聊天了译断。
7.聊天授翻,需要倆人,對(duì)吧孙咪,現(xiàn)在連接的用戶為之一堪唐,另一個(gè)需要再去融云開發(fā)者后臺(tái)申請(qǐng)一個(gè) token,記住他的 userId该贾,發(fā)消息是需要 userId 的羔杨。然后創(chuàng)建個(gè)按鈕,點(diǎn)擊事件寫如下代碼即可杨蛋,跳轉(zhuǎn)之后,就能聊天了理澎。然后再跑一個(gè)模擬器或者真機(jī)逞力,用后申請(qǐng)的 token 登陸,倆人就能互相對(duì)話了糠爬。
RCConversationViewController *chatViewController = [[RCConversationViewController alloc] initWithConversationType:ConversationType_PRIVATE targetId:"后申請(qǐng) token 時(shí)填寫的 userId"];
[self.navigationController pushViewController:chatViewController animated:YES];