1、在Appdelegate初始化
//初始化SDK,執(zhí)行一次即可
[[RCIM sharedRCIM] initWithAppKey:RCIM_App_Key];
//設(shè)置會(huì)話列表中顯示的頭像形狀(RC_USER_AVATAR_RECTANGLE--矩形;RC_USER_AVATAR_CYCLE--圓形)
[RCIM sharedRCIM].globalConversationAvatarStyle = RC_USER_AVATAR_CYCLE;
//設(shè)置聊天界面中顯示的頭像形狀
[RCIM sharedRCIM].globalMessageAvatarStyle = RC_USER_AVATAR_CYCLE;
//正在輸入的狀態(tài)提示
[RCIM sharedRCIM].enableTypingStatus = YES;
=======================
//通過后臺(tái)獲取token,建立連接
//連接上IM
[[RCIM sharedRCIM] connectWithToken:userToken success:^(NSString *userId) {
//登錄成功
NSLog(@"登陸成功。當(dāng)前登錄的用戶ID:%@", userId);
//設(shè)置IM用戶信息提供者(協(xié)議接口)
[[RCIM sharedRCIM] setUserInfoDataSource:self];
//設(shè)置IM群組信息提供者(協(xié)議接口)
[[RCIM sharedRCIM] setGroupInfoDataSource:self];
/*!
* 消息接收監(jiān)聽(協(xié)議接口RCIMReceiveMessageDelegate)
* 主要有三個(gè)接口:
*? – onRCIMReceiveMessage:left:在前臺(tái)和后臺(tái)活動(dòng)狀態(tài)時(shí)收到任何消息都會(huì)執(zhí)行。
*? – onRCIMCustomLocalNotification:withSenderName:在后臺(tái)活動(dòng)狀態(tài)時(shí)接收到消息彈出本地通知前觸發(fā),可自定義本地通知。
*? – onRCIMCustomAlertSound:在前臺(tái)狀態(tài)收到消息時(shí)收到消息會(huì)執(zhí)行,可以自定義消息提示音。
*/
[[RCIM sharedRCIM] setReceiveMessageDelegate:self];
} error:^(RCConnectErrorCode status) {
//登錄失敗
NSLog(@"登陸的錯(cuò)誤碼為:%ld", (long)status);
} tokenIncorrect:^{
//token過期或者不正確。
//如果設(shè)置了token有效期并且token過期,請(qǐng)重新請(qǐng)求您的服務(wù)器獲取新的token
//如果沒有設(shè)置token有效期卻提示token錯(cuò)誤,請(qǐng)檢查您客戶端和服務(wù)器的appkey是否匹配,還有檢查您獲取token的流程。
NSLog(@"token錯(cuò)誤");
}];
2、準(zhǔn)備進(jìn)入聊天室
創(chuàng)建控制器,繼承于RCConversationViewController,也就是聊天室,就如下面的MerchantMessageViewController
MerchantMessageViewController *chat = [[MerchantMessageViewController alloc] init];
//設(shè)置會(huì)話的類型,如單聊、討論組、群聊、聊天室、客服、公眾服務(wù)會(huì)話等
chat.conversationType = ConversationType_PRIVATE;
//設(shè)置會(huì)話的目標(biāo)會(huì)話ID。(單聊、客服、公眾服務(wù)會(huì)話為對(duì)方的ID,討論組、群聊、聊天室為會(huì)話的ID)
chat.targetId = merUserId;
//設(shè)置聊天會(huì)話界面要顯示的標(biāo)題
chat.title = merMallName;
//顯示聊天會(huì)話界面
//chat.hidesBottomBarWhenPushed = YES;
[self.navigationController pushViewController:chat animated:YES];
3、聊天室里面的設(shè)置
//右上角的未讀消息數(shù)提示
self.enableUnreadMessageIcon = YES;
//右下角的未讀消息數(shù)提示
self.enableNewComingMessageIcon = YES;
// 代理方法,點(diǎn)擊了頭像
- (void)didTapCellPortrait:(NSString *)userId{
// NSLog(@"userId=%@",userId);
}
的