相關整合方法也可以直接參考官方文檔http://www.rongcloud.cn/docs/ios.html.下面是我整合過程中的一些詳細步驟.
1.準備工作:到官網http://www.rongcloud.cn註冊登入,建立自己的應用,擷取應用的AppKey.
2.整合SDK,建議使用CocoaPods省事
target 'ProjectName' do # 項目名稱pod 'RongCloudIM/IMLib'pod 'RongCloudIM/IMKit'end
3.初始化:AppDelegate.m
#import <RongIMKit/RongIMKit.h>@interface AppDelegate ()<RCIMUserInfoDataSource>- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // 融雲 [[RCIM sharedRCIM] initWithAppKey:@"your AppKey"]; // 正常開發token是從APP伺服器擷取的,測試時可以在官網的測試介面擷取 [[RCIM sharedRCIM] connectWithToken:token success:^(NSString *userId) { NSLog(@"登陸成功。當前登入的使用者ID:%@", userId); } error:^(RCConnectErrorCode status) { NSLog(@"登陸的錯誤碼為:%zd", status); } tokenIncorrect:^{ //token到期或者不正確。 //如果設定了token有效期間並且token到期,請重新請求您的伺服器擷取新的token //如果沒有設定token有效期間卻提示token錯誤,請檢查您用戶端和伺服器的appkey是否匹配,還有檢查您擷取token的流程。 NSLog(@"token錯誤"); }]; // 設定代理,代理方法要返回使用者資訊 [[RCIM sharedRCIM] setUserInfoDataSource:self]; return YES;}//RCIMUserInfoDataSource的代理方法- (void)getUserInfoWithUserId:(NSString *)userId completion:(void (^)(RCUserInfo *))completion {// 每次展示帳戶圖片等資訊都會調用,正常開發應該從app伺服器擷取,儲存在本地RCUserInfo *info = [[RCUserInfo alloc] initWithUserId:userId name:@"name" portrait:@"http://tx.haiqq.com/uploads/allimg/160417/1_041F15KK0L.jpg"]; completion(info);}
4.會話列表:IMKit中預設使用RCConversationListViewController,可以直接使用或繼承
ChatListViewController.h
#import <RongIMKit/RongIMKit.h>@interface ChatListViewController : RCConversationListViewController
ChatListViewController.m
- (void)viewDidLoad { [super viewDidLoad]; // 設定需要顯示列表顯示那些類型的會話 [self setDisplayConversationTypes:@[@(ConversationType_PRIVATE),@(ConversationType_DISCUSSION), @(ConversationType_CHATROOM), @(ConversationType_GROUP), @(ConversationType_APPSERVICE), @(ConversationType_SYSTEM)]]; // 設定需要將哪些類型的會話在會話列表中彙總顯示 [self setCollectionConversationType:@[@(ConversationType_DISCUSSION), @(ConversationType_GROUP)]];}// 點擊回話時跳轉到回話頁面- (void)onSelectedTableRow:(RCConversationModelType)conversationModelType conversationModel:(RCConversationModel *)model atIndexPath:(NSIndexPath *)indexPath {// 會話頁面:直接使用或者繼承RCConversationViewController RCConversationViewController *conversationVC = [[RCConversationViewController alloc]init]; conversationVC.conversationType = model.conversationType; conversationVC.targetId = model.targetId; conversationVC.title = model.conversationTitle; conversationVC.hidesBottomBarWhenPushed = YES; [self.navigationController pushViewController:conversationVC animated:YES];}
5.使用官方API測試
6.目前為止,簡單的單聊功能已經實現
7.遠程訊息推送按照官方步驟即可http://www.rongcloud.cn/docs/ios_push.html.