1沧踏、在Appdelegate初始化
//初始化SDK澡屡,執(zhí)行一次即可
[[RCIM sharedRCIM] initWithAppKey:RCIM_App_Key];
//設(shè)置會話列表中顯示的頭像形狀(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;
=======================
//通過后臺獲取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)
* 主要有三個接口:
*? – onRCIMReceiveMessage:left:在前臺和后臺活動狀態(tài)時收到任何消息都會執(zhí)行疾掰。
*? – onRCIMCustomLocalNotification:withSenderName:在后臺活動狀態(tài)時接收到消息彈出本地通知前觸發(fā),可自定義本地通知听皿。
*? – onRCIMCustomAlertSound:在前臺狀態(tài)收到消息時收到消息會執(zhí)行熟呛,可以自定義消息提示音。
*/
[[RCIM sharedRCIM] setReceiveMessageDelegate:self];
} error:^(RCConnectErrorCode status) {
//登錄失敗
NSLog(@"登陸的錯誤碼為:%ld", (long)status);
} tokenIncorrect:^{
//token過期或者不正確尉姨。
//如果設(shè)置了token有效期并且token過期庵朝,請重新請求您的服務(wù)器獲取新的token
//如果沒有設(shè)置token有效期卻提示token錯誤,請檢查您客戶端和服務(wù)器的appkey是否匹配又厉,還有檢查您獲取token的流程九府。
NSLog(@"token錯誤");
}];
2、準(zhǔn)備進(jìn)入聊天室
創(chuàng)建控制器覆致,繼承于RCConversationViewController侄旬,也就是聊天室,就如下面的MerchantMessageViewController
MerchantMessageViewController *chat = [[MerchantMessageViewController alloc] init];
//設(shè)置會話的類型煌妈,如單聊儡羔、討論組、群聊声旺、聊天室笔链、客服、公眾服務(wù)會話等
chat.conversationType = ConversationType_PRIVATE;
//設(shè)置會話的目標(biāo)會話ID腮猖。(單聊鉴扫、客服、公眾服務(wù)會話為對方的ID澈缺,討論組坪创、群聊、聊天室為會話的ID)
chat.targetId = merUserId;
//設(shè)置聊天會話界面要顯示的標(biāo)題
chat.title = merMallName;
//顯示聊天會話界面
//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);
}
的