SDK 如何初始化
在您需要使用融云 SDK 功能的类中,import 相关头文件。
#import <RongIMKit/RongIMKit.h>
如果是 Swift 的话,需要在您工程的 Bridging-Header.h
文件中加入 SDK 的引用
#import <RongIMKit/RongIMKit.h>
请使用您之前从融云开发者控制台注册得到的 App Key,通过 RCIM 的单例,传入 initWithAppKey:
方法,初始化 SDK。
您在使用融云 SDK 所有功能(包括显示 SDK 中的 View 或者显示继承于 SDK 的 View )之前,您必须先调用此方法初始化 SDK。 在 App 的整个生命周期中,您只需要将 SDK 初始化一次。
Objective-C 代码
[[RCIM sharedRCIM] initWithAppKey:@"YourTestAppKey"];
连接服务器
将您在上一步获取到的 Token,通过 RCIM 的单例,传入 -connectWithToken:success:error:tokenIncorrect:
方法,即可建立与服务器的连接。
关于融云 SDK 连接的详细处理逻辑问题,请查看连接融云。
Objective-C 代码
[[RCIM sharedRCIM] connectWithToken:@"YourTestUserToken"
success:^(NSString *userId) {
NSLog(@"登陆成功。当前登录的用户ID:%@", userId);
}
error:^(RCConnectErrorCode status) {
NSLog(@"登陆的错误码为:%d", status);
}
tokenIncorrect:^{
//token过期或者不正确。
//如果设置了token有效期并且token过期,请重新请求您的服务器获取新的token
//如果没有设置token有效期却提示token错误,请检查您客户端和服务器的appkey是否匹配,还有检查您获取token的流程。
NSLog(@"token错误");
}];
返回错误码请参看下面链接
http://doc.rongcloud.cn/im/IOS/5.X/code/code
如何动态获取 token
动态获取 token 需要在 APP server 端获取
参考文档:http://doc.rongcloud.cn/imserver/server/v1/user/register
token 失效问题
token错误,请您检查客户端初始化使用的AppKey和您服务器获取token使用的AppKey是否一致
token过期,是因为您在开发者后台设置了token过期时间,您需要请求您的服务器重新获取token并再次用新的token建立连接。
请确认一下 AppKey 和 token 是否匹配。
请在开发者后台确认 token 是否在有效期。
请使用工具:https://rongcloud.github.io/websdk-demo/api-test.html 来测试一下能否链接成功
如何自定义消息请参照下面文档
http://support.rongcloud.cn/kb/NTMw
会话列表和会话页面如何显示用户心头像和名称
实现用户信息提供者,可在 AppDelegate.m 中遵循协议 RCIMUserInfoDataSource,RCIMGroupInfoDataSource,
设置代理
[[RCIM sharedRCIM] setUserInfoDataSource:self];
[[RCIM sharedRCIM] setGroupInfoDataSource:self];
实现方法
- (void)getUserInfoWithUserId:(NSString *)userId completion:(void (^)(RCUserInfo *))completion;
群组信息提供者:
- (void)getGroupInfoWithGroupId:(NSString *)groupId completion:(void (^)(RCGroup *))completion;
具体可参照下面文档http://support.rongcloud.cn/kb/MjYx
历史消息、历史消息云存储、消息补偿的解释
历史消息:SDK 会对消息做本地存储,在会话中显示的都是本地存储的消息
历史消息云存储:1)当本地数据库的消息展示完成以后,如果你开通了历史消息云存储的服务,在会话中下拉,会继续加载消息,这部分消息就是从服务器端拉取的历史消息;
2)清空会话中的历史消息,仅仅清除的是本地存储的历史消息,如果你开通了历史消息云存储服务,在会话中下拉,依然能拉取历史消息,这部分消息就是从服务器端拉取的历史消息;
消息补偿:是一项收费服务器,体现在多端登录的时候消息同步。消息补偿可以设置时间:3天或7天;当客户端第一次(仅仅是第一次)安装登录,就会把这段时间内的所有消息下发下来
如何设置导航栏和导航栏字体颜色
请参照下面文档http://support.rongcloud.cn/kb/Mzg2
如何自定义会话列表cell
请参照下面文档http://support.rongcloud.cn/kb/MjUz
与第三方开源库BlocksKit冲突的问题
当融云SDK和BlocksKit被引入到同一工程,通过融云的聊天UI界面去选择照片、拍摄照片并发送时,无法正常选择和发送。
具体解决办法请参照下面文档http://support.rongcloud.cn/kb/MzI1
如何在发送的消息中携带用户信息?
在一些低频的交互场景中,比如两个用户之间需要发送一两条消息,开发者可以选择在消息中携带用户信息,降低使用难度和提高友好性
具体实现请参照下面文档http://support.rongcloud.cn/kb/Mzgw
本地通知和远程推送收不到
本地通知不显示,请按照下面文档进行排查http://support.rongcloud.cn/kb/MzEw
远程推送不显示,请按照下面文档进行排查http://support.rongcloud.cn/kb/MzEy
点击本地通知与远程推送进行跳转
点击通知弹出栏后,相应操作请参考下面文档http://support.rongcloud.cn/kb/NTYy
如何导出融云的数据库信息?
本地数据库信息和其他临时文件对于解决问题有很大的帮助,所以当需要融云来解决问题的时候,请尽量提供相应文件
具体操作参考下面文档http://support.rongcloud.cn/kb/Mzk4
如何使用手机获取并导出 Log?
在不链接Xcode的情况下,使用手机获取并导出log,以便分析定位为题。
具体操作请参看下面文档http://support.rongcloud.cn/kb/NDI0