融云集成單聊和討論組

一.首先看下動態(tài)圖:

1.gif

二.集成步驟
1.參考官方文檔 http://www.rongcloud.cn/docs/ios.html#base_function_discussion

注冊開發(fā)者賬號

創(chuàng)建應(yīng)用
注冊了開發(fā)者帳號之后,在進行開發(fā) App 之前,您需要前往融云開發(fā)者控制臺創(chuàng)建應(yīng)用。創(chuàng)建完應(yīng)用之后,在您的應(yīng)用中,會自動創(chuàng)建兩套環(huán)境,即:開發(fā)環(huán)境和生產(chǎn)環(huán)境

WechatIMG45.jpeg

開發(fā)環(huán)境專門用于開發(fā)測試,生產(chǎn)環(huán)境專門用于您的應(yīng)用上線正式商用。兩套環(huán)境相互隔離,每個環(huán)境都有相應(yīng)的 App Key 和 App Secret。兩個環(huán)境消息不互通。

獲取 Token
在融云控制臺中荔枝FM(我的應(yīng)用)->API調(diào)試->獲取Token


WechatIMG46.jpeg

SDK集成
我是用cocoapods導(dǎo)入的
①cd + 路徑(定位到項目所在路徑)
②pod init (創(chuàng)建podfile文件)
③添加需要的第三方
④pod install(pod update)
導(dǎo)入成功后,就可以使用了!


屏幕快照 2018-01-30 上午11.46.49.png

初始化、連接服務(wù)器
在AppDelegate.m里

#import <RongIMKit/RongIMKit.h>
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    //初始化sdk
    [[RCIM  sharedRCIM] initWithAppKey:kSDKKey];
    //連接服務(wù)器
    [[RCIM sharedRCIM] connectWithToken:kToken1 success:^(NSString *userId) {
        NSLog(@"登陸成功。當(dāng)前登錄的用戶ID:%@", userId);
        [[NSUserDefaults standardUserDefaults]setObject:userId forKey:@"userId"];
        [[NSUserDefaults standardUserDefaults] synchronize];
    } error:^(RCConnectErrorCode status) {
        NSLog(@"登陸的錯誤碼為:%ld", (long)status);
    } tokenIncorrect:^{
        //token過期或者不正確。
        //如果設(shè)置了token有效期并且token過期,請重新請求您的服務(wù)器獲取新的token
        //如果沒有設(shè)置token有效期卻提示token錯誤,請檢查您客戶端和服務(wù)器的appkey是否匹配,還有檢查您獲取token的流程。
        NSLog(@"token錯誤");
    }];
    return YES;
}

會話界面

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSDictionary *dic = self.listArray[indexPath.row];
    RCConversationType type = ConversationType_PRIVATE;
    if (indexPath.row>4) {
        type = ConversationType_DISCUSSION;
    }
    
    //新建一個聊天會話View Controller對象,建議這樣初始化
    SingleChatVC *chat = [[SingleChatVC alloc] initWithConversationType:type targetId:dic[@"userId"]];
    //設(shè)置會話的目標(biāo)會話ID。(單聊、客服、公眾服務(wù)會話為對方的ID,討論組、群聊、聊天室為會話的ID)
    
    //設(shè)置聊天會話界面要顯示的標(biāo)題
    chat.title = dic[@"name"];
    //顯示聊天會話界面
    [self.navigationController pushViewController:chat animated:YES];
}
//SingleChatVC class
@interface SingleChatVC : RCConversationViewController

消息界面

//.h
#import <UIKit/UIKit.h>
#import <RongIMKit/RongIMKit.h>
#import <RongIMLib/RongIMLib.h>
@interface NewsList : RCConversationListViewController

@end
.m
- (void)viewDidLoad {
    ///重寫顯示相關(guān)的接口,必須先調(diào)用super,否則會屏蔽SDK默認的處理
    [super viewDidLoad];
    self.view.backgroundColor = [UIColor whiteColor];
    //設(shè)置需要顯示哪些類型的會話
    [self setDisplayConversationTypes:@[@(ConversationType_PRIVATE),
                                        @(ConversationType_DISCUSSION),
                                        @(ConversationType_CHATROOM),
                                        @(ConversationType_GROUP),
                                        @(ConversationType_APPSERVICE),
                                        @(ConversationType_SYSTEM)]];
    // //設(shè)置需要將哪些類型的會話在會話列表中聚合顯示
    [self setCollectionConversationType:@[@(ConversationType_DISCUSSION),
                                          @(ConversationType_GROUP)]];
}

//重寫RCConversationListViewController的onSelectedTableRow事件
-(void)onSelectedTableRow:(RCConversationModelType)conversationModelType conversationModel:(RCConversationModel *)model atIndexPath:(NSIndexPath *)indexPath
{
    RCConversationViewController *conversationVC = [[RCConversationViewController alloc] init];
    conversationVC.conversationType = model.conversationType;
    conversationVC.targetId = model.targetId;
    conversationVC.title = @"聊天室";
    conversationVC.hidesBottomBarWhenPushed = YES;
    [self.navigationController pushViewController:conversationVC animated:YES];
}

遇到的問題
點擊鍵盤中的+ 號時,崩潰


屏幕快照

解決辦法是在info.plist文件里添加描述字段


屏幕快照

Demo可以去我的博客下載shenyuanjiang / 融云集成單聊群聊

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,029評論 25 709
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,554評論 19 139
  • 本文原創(chuàng)。僅限站內(nèi)轉(zhuǎn)載,站外轉(zhuǎn)載請私信聯(lián)系作者。 筆者由于工作的原因,會經(jīng)常穿梭于多倫多downtown的金融街。...
    塵世小書蟲閱讀 742評論 0 0
  • 莫言說:能拴牢一個女人的, 未必是金錢,也未必是愛情, 而是呵護。 享受某個人的照顧,的確是會上癮的。 這就是為什...
    傅敬涵閱讀 489評論 0 0
  • Dingsf閱讀 1,233評論 0 0

友情鏈接更多精彩內(nèi)容