iOS:集成环信EaseMobSDK单聊功能

简介:

当然在集成环信之前需要一些准备操作:

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单例类中,添加一些自定义的方法

  View Code

在会话列表控制器中:

  View Code

在聊天控制器中,直接集成ChatViewController

  View Code

在自定义的会话列表cell中,显示会话联系人、最后一条记录、时间

  View Code

消息提醒按钮

  View Code

最后在TabbarController中检测未读消息

 //首先得注册代理,监听未读消息数
 [[EaseMob sharedInstance].chatManager addDelegate:self delegateQueue:nil];
  View Code
//移除代理
-(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

  View Code

演示结果如下:经本人测试,在真机上运行没有问题,实时语音视频聊天均能够实现

左边为电话通话                  右边为视频通话

 

以下为参考资料:

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,如需转载请自行联系原作者

相关文章
|
10天前
|
存储 数据建模 iOS开发
iOS设备功能和框架: 什么是 Core Data,它在 iOS 中的作用是什么?
iOS设备功能和框架: 什么是 Core Data,它在 iOS 中的作用是什么?
38 1
|
10天前
|
定位技术 iOS开发
iOS设备功能和框架: 如何使用 Core Location 获取设备的位置信息?
iOS设备功能和框架: 如何使用 Core Location 获取设备的位置信息?
25 0
|
10天前
|
存储 Go
Go 浅析主流日志库:从设计层学习如何集成日志轮转与切割功能
本文将探讨几个热门的 go 日志库如 logrus、zap 和官网的 slog,我将分析这些库的的关键设计元素,探讨它们是如何支持日志轮转与切割功能的配置。
137 0
Go 浅析主流日志库:从设计层学习如何集成日志轮转与切割功能
|
1天前
|
Android开发 数据安全/隐私保护 iOS开发
ios和安卓测试包发布网站http://fir.im的注册与常用功能
ios和安卓测试包发布网站http://fir.im的注册与常用功能
9 0
ios和安卓测试包发布网站http://fir.im的注册与常用功能
|
6天前
|
安全 Android开发 iOS开发
构建未来:安卓与iOS的无缝集成技术探索
【5月更文挑战第20天】随着智能设备的普及和技术的不断进步,安卓和iOS两大操作系统之间的界限正在逐渐模糊。本文将深入探讨如何通过最新的API、框架和工具实现安卓与iOS应用的无缝集成,以及这一趋势对开发者和用户的潜在影响。我们将从技术可行性、安全性挑战、用户体验优化等角度出发,分析当前的发展状况,并展望未来可能的技术融合路径。
|
10天前
|
存储 监控 安全
打造高效移动办公环境:Android与iOS平台的集成策略
【5月更文挑战第15天】 在数字化时代,移动办公不再是一种奢望,而是日常工作的必需。随着智能手机和平板电脑的性能提升,Android与iOS设备已成为职场人士的重要工具。本文深入探讨了如何通过技术整合,提高两大移动平台在企业环境中的协同工作能力,重点分析了各自平台上的系统集成策略、安全性考虑以及跨平台协作工具的应用。通过对现有技术的剖析与案例研究,旨在为读者提供一套实用的移动办公解决方案。
|
10天前
|
前端开发
基于Jeecgboot前后端分离的聊天功能集成(二)
基于Jeecgboot前后端分离的聊天功能集成(二)
10 0
|
10天前
|
前端开发 API
基于Jeecgboot前后端分离的聊天功能集成(一)
基于Jeecgboot前后端分离的聊天功能集成(一)
11 0
|
10天前
|
分布式计算 DataWorks MaxCompute
DataWorks产品使用合集之在DataWorks中,将数据集成功能将AnalyticDB for MySQL中的数据实时同步到MaxCompute中如何解决
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
37 0
|
10天前
|
机器学习/深度学习 人工智能 TensorFlow
安卓中的人工智能:集成机器学习功能
【4月更文挑战第14天】在数字化时代,人工智能与机器学习正驱动安卓平台的技术革新。谷歌的ML Kit和TensorFlow Lite为开发者提供了便捷的集成工具,使得应用能实现图像识别、文本转换等功能,提升用户体验。尽管面临数据隐私和安全性的挑战,但随着技术进步,更强大的AI功能将预示着移动端的未来,为开发者创造更多创新机遇。

热门文章

最新文章