30 分鐘集成融雲 IM 即時通訊

最近公司要做一個社交 app,對於時間就是金錢的當今社會,招聘大量人才去搭建通訊系統肯定是不划算的,花費人力物力財力做出來的 app,可能還沒人用。那就瞎了。所以毋庸置疑,一拍即合,用第三方的。就開始了對於目前市面上主流的第三方 IM SDK 進行調研。其中有騰訊雲,網易雲信,融雲,環信等。列出了一堆對比條件,最後領導拍板用哪個。末端程序員是沒有選擇權的。好好搬磚就可以了~要明白自己的身份,嘎嘎

過程不說了,最後選擇了用融雲,廢話不多說,直接勒~這裏只介紹一下如何快速集成,讓倆人聊起來,這也算是一個里程碑啊。對於程序員來說,聊不起來可就毀了,領導都特麼奶兇奶兇的~~~

1.先到融雲官網 進行註冊,這個可以讓你們產品經理或者啥領導去做,可以用公司的郵箱,別用自己的吧,後期自己換了地兒,對公司也是損失不是。註冊後添加應用,拿到 appkey

2.xcode 創建一個新工程,或者找自己公司的項目,這裏我推薦使用 pod 方式管理第三方,方便快捷,省時省力。因爲手動方式太落後了,且配置繁瑣,稍有遺漏就會報錯,有些報錯排查起來費時費力費心費電,所以還是老老實實的用 pod 吧。不聽老人言,喫虧在眼前,聽哥的沒錯,融雲文檔寫了如何用 pod,幾行命令的事。弄完後,也就是把 SDK 集成好了,跑一下工程,如果不報錯,祝賀你兄嘚,馬上可以聊天了,看下一步

3.需要在 appDelegate 中導入頭文件。#import <RongIMKit/RongIMKit.h>。對了,我們用的是帶界面的 SDK,快速集成不費事。

4.初始化 SDK

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    //下邊引號內需要替換爲你的 appkey,別特麼原封不動的抄哈,嘎嘎
    [[RCIM sharedRCIM] initWithAppKey:@"融雲開發者後臺的 AppKey"];
    return YES;
}

5.這一步該連接融雲了兄嘚

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    [[RCIM sharedRCIM] initWithAppKey:@"獲取到的 AppKey"];

    [[RCIM sharedRCIM] connectWithToken:@"開發者的 server 通過請求 server api 獲取到的 token 值"
                           dbOpened:^(RCDBErrorCode code) {}
                            success:^(NSString *userId) {}
                              error:^(RCConnectErrorCode status) {}];

    return YES;
}

敲黑板1:在這我得多說你幾句,必須要看成功回調和失敗回調的調用,進了 success 就是成功了,進了 error 就是錯誤了。錯誤了你要看 status 狀態碼啊,根據錯誤碼來找問題。我在調試過程中就遇到了 RC_CONN_TOKEN_INCORRECT 錯誤碼,顧名思義:token 不正確。這個就要找自己的服務端人員看是哪裏問題導致的 token 不正確了。

敲黑板1:還有 @"開發者的 server 通過請求 server api 獲取到的 token 值",這個 token,在剛開始測試的時候,你們的服務端可能還沒集成,所以可以先到融雲開發者後臺“服務管理” - “API 調用” - “用戶服務” - “獲取 Token” 那裏,隨便輸入一個 userId,name,portraitUri,就可得到 token 了。用這個 token 去連接即可,省時省力。

6.至此,恭喜你啊,已經連接融雲成功了。下一步就是該琢磨如何找人聊天了。

7.聊天,需要倆人,對吧,現在連接的用戶爲之一,另一個需要再去融雲開發者後臺申請一個 token,記住他的 userId,發消息是需要 userId 的。然後創建個按鈕,點擊事件寫如下代碼即可,跳轉之後,就能聊天了。然後再跑一個模擬器或者真機,用後申請的 token 登陸,倆人就能互相對話了。

RCConversationViewController *chatViewController = [[RCConversationViewController alloc] initWithConversationType:ConversationType_PRIVATE targetId:"後申請 token 時填寫的 userId"];
[self.navigationController pushViewController:chatViewController animated:YES];
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章