[使用swift语言,为项目添加一个单对单通讯功能]
简介
融云是一款第三方即时通讯SDK,通过融云平台,开发者不必搭建服务端硬件环境,就可以将即时通讯、实时网络能力快速集成至应用中。
官网:http://www.rongcloud.cn/
类似的SDK还有leancloud、环信等。
创建应用
在进行应用开发之前,需要前往融云开发者平台 创建应用。
获得App Key和App Secret 。
通过CocoaPods安装SDK
在Podfile中加入pod ‘RongCloudIMKit’
执行命令安装
$ pod install
安装完成后在swift与objective-c的桥接文件中导入SDK
#import <RongIMKit/RongIMKit.h>
初始化SDK
初始化SDK,通过token链接服务器,并设置当前的用户。
//初始化SDK
RCIM.sharedRCIM().initWithAppKey("cpj2xarljexxx")
// 连接服务器
RCIM.sharedRCIM().connectWithToken("/3SuTgMXKxywuZcZSyVeUyKCc+4pFtAAaogrQ+3UGk7BaEgBD5YClHs6HVIYJGTtuuaS2B1/6ACXwLNzSRhJTA==", success: { (str:String!) -> Void in
let currentUserInfo = RCUserInfo(userId: "001", name: "袁克强", portrait: nil)
RCIMClient.sharedRCIMClient().currentUserInfo = currentUserInfo
print("连接成功!")
}, error: {(error)-> Void in
print(error);
}, tokenIncorrect: {()-> Void in
print("token错误");
})
注:这里使用写死的token与用户信息,实际开发中我们需要登录后保存用户信息,并通过UserId远程获取token 参考http://www.rongcloud.cn/docs/server.html#用户服务原身份认证服务_,融云服务器不保存用户信息。
启动单聊会话界面
融云IMKit的会话界面已经高度集成,你只需要启动会话界面。
下面的例子是一个Button点击事件触发(聊天对象为自己)。
func createConversation(){
let conVC = RCConversationViewController();
conVC.targetId = "001"
conVC.userName = "袁克强"
conVC.conversationType = RCConversationType.ConversationType_PRIVATE
conVC.title = v.userName;
self.navigationController?.pushViewController(conVC, animated: true);
}
效果
至此,一个简单的类似微信的单对单通讯功能已经开发完毕。