当然在集成环信之前需要一些准备操作:
1、首先注册环信开发者账号,直接进入环信官网注册即可:http://www.easemob.com
2、按照文档一步一步将需要的文件全部拖入工程中:http://docs.easemob.com/start/start
以下是我集成的文件:使用
EaseUI集成:http://docs.easemob.com/start/300iosclientintegration/140easeuiuseguide
libEaseMobClientSDK.a包
ChatDemo-UI3.0中的ChatView中的聊天控制器
我主要使用EaseMob中这个EaseSDKHelper单例类来注册、登录、获取最新消息、推送等
在App启动程序时:
进入EaseSDKHelper单例类中,添加一些自定义的方法
在会话列表控制器中:
在聊天控制器中,直接集成ChatViewController
在自定义的会话列表cell中,显示会话联系人、最后一条记录、时间
消息提醒按钮
最后在TabbarController中检测未读消息
//首先得注册代理,监听未读消息数
[[EaseMob sharedInstance].chatManager addDelegate:self delegateQueue:nil];
//移除代理
-(void)dealloc{
[[EaseMob sharedInstance].chatManager removeDelegate:self];
}
测试后:
以上只是实现了单聊和群聊的功能,那么实时语音和视频如何实现呢,下面这个就是干货:
1.集成实时通话的前提是集成好单聊,并且使用的是libEaseMobClientSDK.a包,因为这个包 包含实时通话的功能
2.将demo3.0中的Call文件(实时通话的界面)以及Resources(通话界面的资源图片)加到你自己的工程中
3.点击实时通话或者视频的按钮,实际是发起的通知,在你工程中的主控制器中监听这个通知,在通知的方法中实现发起实时通话的方法以及跳转到通话界面
4.接收实时通话的回调是 - (void)callSessionStatusChanged:(EMCallSession *)callSession changeReason:(EMCallStatusChangedReason)reason error:(EMError *)error
5.实时通话用的协议是:EMCallManagerDelegate 代理:[[EaseMob sharedInstance].callManager addDelegate:self delegateQueue:nil];
6.具体添加哪些方法看下上传的ViewController文件,按照这个文件中的方法加到自己的主控制器中,demo中的实现在MainViewController.m类
代码如下:
记得先导入call文件:这个是用来进行视频和电话语音的类
ViewController.docx文件:http://i.cnblogs.com/Files.aspx
演示结果如下:经本人测试,在真机上运行没有问题,实时语音视频聊天均能够实现
左边为电话通话 右边为视频通话
以下为参考资料:
1.基于环信Demo3.0,实现单聊功能:http://www.jianshu.com/p/f53be9664f14
2.集成环信的即时通讯:http://www.jianshu.com/p/b4618ef39274
3.环信聊天界面 - 显示历史会话记录:http://blog.csdn.net/github_26672553/article/details/50719487
4.环信集成 - 加载会话列表:http://blog.csdn.net/u010545480/article/details/49660255
5.扩展表情包:http://apps.timwhitlock.info/emoji/tables/unicode
其他demo下载: https://github.com/zyprosoft/ZYChat
集成视频:http://www.imgeek.org/video/
github:https://github.com/xiayuanquan/EaseMobChat
本文转自当天真遇到现实博客园博客,原文链接:http://www.cnblogs.com/XYQ-208910/p/5396635.html,如需转载请自行联系原作者