iOS集成融云即时通讯详细教程
来源:互联网 发布:jsp页面向java传值方式 编辑:程序博客网 时间:2024/05/29 04:04
相关集成方法也可以直接参考官方文档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.
阅读全文
0 0
- iOS集成融云即时通讯详细教程
- iOS开发融云即时通讯集成详细步骤
- iOS开发融云即时通讯集成详细步骤(蔡哲永)
- iOS开发融云即时通讯集成详细步骤
- iOS 融云即时通讯~集成 (IM)
- 融云即时通讯集成
- 融云即时通讯集成总结
- 集成融云 即时通讯总结
- IOS版添加phonegap--融云即时通讯插件教程
- iOS-融云即时通讯
- ios--融云即时通讯
- iOS 集成apple Pay 接入详细教程
- iOS项目集成Unity详细教程
- 融云即时通讯集成技术积累
- 项目中集成融云即时通讯
- 集成融云即时通讯第一弹
- iOS - 融云即时通讯的简单使用
- 融云即时通讯集成和textinputlayout登录界面
- L19 压缩打包介绍,gzip压缩工具,bzip2压缩工具,xz压缩工具
- 下拉菜单
- 网购支付数据
- 【数据结构】线性结构——初始化
- CreateFile 函数详解
- iOS集成融云即时通讯详细教程
- centos7下找不到iptables文件
- QT 打开文件选择窗口
- 【慕课网_性能优化之MySQL优化_学习】【05】
- 文章标题
- foreach
- 搭建环境篇 | 运行第一个Java Web 项目
- zeppelin使用jdbc编辑器链接hive
- 数据结构上机实践第八周项目8-稀疏矩阵的三元组表示的实现及应用