iOS整合融雲即時通訊詳細教程

來源:互聯網
上載者:User

相關整合方法也可以直接參考官方文檔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.

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.