iOS - 融云即时通讯的简单使用
来源:互联网 发布:淘宝超级店长是什么 编辑:程序博客网 时间:2024/05/20 12:51
项目里开始需要聊天功能,以前没有接触过,最近看着官方集成文档不是很操心。
集成官方文档地址
集成步骤就不说了 文档说的很清楚啦~
1⃣️
集成完毕,我们开始要写代码来做初始化和连接部分啦!
在appdelegate.m文件里 先包含文件
#import <RongIMKit/RongIMKit.h>
//[RCIM sharedRCIM] 核心类// 初始化融云SDK //appKey 从融云开发者平台创建应用后获取到的App Key[[RCIM sharedRCIM] initWithAppKey:@"y745wfm84ekbv"];// 与融云服务器建立连接//token 从您服务器端获取的token(用户身份令牌)[[RCIM sharedRCIM] connectWithToken:@"/c+PTsQd/mbXxYaLWFmL/Ml1/i98BQyyuh3ScYAwQgny/Z1fXR+A63sHXdPfa7mJFajsnYUO8xsEsR/vqCzApg==" success:^(NSString *userId) { NSLog(@"登陆成功。当前登录的用户ID:%@", userId); } error:^(RCConnectErrorCode status) { NSLog(@"登陆的错误码为:%d",(int)status); } tokenIncorrect:^{ NSLog(@"token错误"); }];
注:
token的获取我们可以先用融云平台里自己的API调试(在你们自己服务器未完成token部分,可以暂时先用)
返回的token就可以在上述代码中使用了!
2⃣️在ViewController.m里面写代码
先写一个按钮,点击跳转到聊天内容界面:
#import "ViewController.h"#import <RongIMKit/RongIMKit.h>@interface ViewController () - (IBAction)chat;@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad];}- (IBAction)chat{//和userid为123456的用户建立聊天//RCConversationViewController 聊天内容界面 只需要传几个字段便可以 IMKit已经封装好了页面的组件 RCConversationViewController *chatVc = [[RCConversationViewController alloc] init]; chatVc.title = @"毛毛"; chatVc.conversationType = ConversationType_PRIVATE; chatVc.targetId = @"123456"; UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:chatVc]; [self presentViewController:nav animated:YES completion:nil];}@end
3⃣️ 做聊天列表的页面
在appdelegate.m中把根视图转为聊天列表页 而不是viewController
//FriendsController是聊天列表页FriendsController *friendsVc = [[FriendsController alloc] init]; UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:friendsVc]; self.window.rootViewController = nav;
聊天列表的页面 继承RCConversationListViewController类
#import "FriendsController.h"@interface FriendsController ()@end@implementation FriendsController- (void)viewDidLoad { [super viewDidLoad]; //是否显示网络状态 self.isShowNetworkIndicatorView = YES; //是否显示连接状态 self.showConnectingStatusOnNavigatorBar = YES; //设置默认的聊天列表类型(是一个数组 数组中放着强转NSNumber类型的会话类型) //例如:ConversationType_PRIVATE 单聊 [self setDisplayConversationTypes:@[@(ConversationType_PRIVATE), @(ConversationType_DISCUSSION),@(ConversationType_GROUP),@(ConversationType_SYSTEM),@(ConversationType_APPSERVICE)]]; // 把很多群组放在一个列表的一行cell里 把很多的讨论组放在一个列表的一行cell里 [self setCollectionConversationType:@[@(ConversationType_GROUP),@(ConversationType_DISCUSSION)]]; //设置cell的背景颜色 self.cellBackgroundColor = [UIColor cyanColor]; //设置置顶的cell的背景颜色 self.topCellBackgroundColor = [UIColor yellowColor];}#pragma mark - 点击会话列表中中的cell的回调- (void)onSelectedTableRow:(RCConversationModelType)conversationModelType conversationModel:(RCConversationModel *)model atIndexPath:(NSIndexPath *)indexPath{ //model 等于 self.conversationListDataSource[indexPath.row]; RCConversationViewController *vc = [[RCConversationViewController alloc] init]; vc.conversationType = model.conversationType; vc.targetId = model.targetId; vc.title = model.conversationTitle; [self.navigationController pushViewController:vc animated:YES];}
问题: 写到这里 我也有一点疑惑 聊天列表会显示跟你聊过天的所有的列表 并且删除了列表的联系人 下次运行的时候还有 是不是只有清空聊天记录缓存才不会显示聊天列表?
============ 有点事 以后更新==================
4⃣️ 获取用户信息 用来显示
在appdelegate.m中写
①遵守协议RCIMUserInfoDataSource
0 0
- iOS - 融云即时通讯的简单使用
- iOS-融云即时通讯
- ios--融云即时通讯
- 安卓接入融云即时通讯的简单步骤
- ios实现一个简单的XMPP即时通讯程序
- 简单的企业即时通讯
- iOS 融云即时通讯~集成 (IM)
- iOS集成融云即时通讯详细教程
- 909422229_对于Android即时通讯融云的使用总结
- 基于Android的即时通讯应用[使用融云SDK]
- iOS webSocket之单利简单实现即时通讯
- android即时通讯,融云使用学习
- 【即时通讯】XMPP调试与简单使用
- IOS版添加phonegap--融云即时通讯插件教程
- iOS开发融云即时通讯集成详细步骤
- iOS开发融云即时通讯集成详细步骤(蔡哲永)
- iOS开发融云即时通讯集成详细步骤
- iOS 即时通讯 Socket使用学习笔记
- Git 的 .gitignore 配置
- Java - Elasticsearch查询类型
- 个人常用的css属性
- codeforces 658C Bear and Forgotten Tree 3构造-多么痛的领悟
- Linux 内核源代码情景分析 chap 2 存储管理 (三)
- iOS - 融云即时通讯的简单使用
- 面试总结
- redis-3.0.7 安装报错 error: jemalloc/jemalloc.h: No such file or directory解决方法
- Java Thread.join()详解
- Python 进阶 —— map-reduce
- mysql 和 Linux 的密码修改
- 推荐一个免费的论文查重网站PaperFree:http://www.paperfree.cn
- 学习Python os.popen启动程序
- yum