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

相关文章
|
5天前
|
关系型数据库 MySQL 数据库
|
5天前
|
SQL 分布式计算 关系型数据库
|
25天前
|
存储 NoSQL 关系型数据库
PolarDB开源数据库进阶课17 集成数据湖功能
本文介绍了如何在PolarDB数据库中接入pg_duckdb、pg_mooncake插件以支持数据湖功能, 可以读写对象存储的远程数据, 支持csv, parquet等格式, 支持delta等框架, 并显著提升OLAP性能。
47 1
|
2月前
|
人工智能 数据处理 C#
AI Dev Gallery:微软开源 Windows AI 模型本地运行工具包和示例库,助理开发者快速集成 AI 功能
微软推出的AI Dev Gallery,为Windows开发者提供开源AI工具包和示例库,支持本地运行AI模型,提升开发效率。
136 13
|
3月前
|
人工智能 自然语言处理 搜索推荐
Open Notebook:开源 AI 笔记工具,支持多种文件格式,自动转播客和生成总结,集成搜索引擎等功能
Open Notebook 是一款开源的 AI 笔记工具,支持多格式笔记管理,并能自动将笔记转换为博客或播客,适用于学术研究、教育、企业知识管理等多个场景。
273 0
Open Notebook:开源 AI 笔记工具,支持多种文件格式,自动转播客和生成总结,集成搜索引擎等功能
|
3月前
|
存储 安全 数据安全/隐私保护
深入解析iOS 14隐私保护功能:用户数据安全的新里程碑
随着数字时代的到来,个人隐私保护成为全球关注的焦点。苹果公司在最新的iOS 14系统中引入了一系列创新的隐私保护功能,旨在为用户提供更透明的数据使用信息和更强的控制权。本文将深入探讨iOS 14中的几项关键隐私功能,包括App跟踪透明性、简化的隐私设置以及增强的系统安全性,分析它们如何共同作用以提升用户的隐私保护水平。
215 3
|
3月前
|
监控 搜索推荐 数据安全/隐私保护
深入探索iOS 14的隐私保护功能
本文将深入探讨iOS 14操作系统中的隐私保护功能,包括新的隐私指示器、应用程序跟踪透明度以及增强的隐私设置。我们将分析这些功能如何提高用户对个人数据的控制权,并讨论它们对应用开发者和广告行业的影响。
91 1
|
4月前
|
缓存 资源调度 JavaScript
Vue集成Excalidraw实现在线画板功能
Excalidraw是一款开源在线绘图工具,适用于白板、思维导图、原型设计等场景。支持手绘风格、多种图形元素、导出功能及多人协作,深受开发者喜爱。本文档介绍了如何在Vue项目中集成Excalidraw,包括安装依赖、配置文件修改、页面添加等步骤,帮助开发者快速上手。
412 0
Vue集成Excalidraw实现在线画板功能
|
4月前
|
传感器 前端开发 Android开发
在 Flutter 开发中,插件开发与集成至关重要,它能扩展应用功能,满足复杂业务需求
在 Flutter 开发中,插件开发与集成至关重要,它能扩展应用功能,满足复杂业务需求。本文深入探讨了插件开发的基本概念、流程、集成方法、常见类型及开发实例,如相机插件的开发步骤,同时强调了版本兼容性、性能优化等注意事项,并展望了插件开发的未来趋势。
93 2
|
4月前
|
SQL 开发框架 .NET
突破T-SQL限制:利用CLR集成扩展RDS SQL Server的功能边界
CLR集成为SQL Server提供了强大的扩展能力,突破了T-SQL的限制,极大地拓展了SQL 的应用场景,如:复杂字符串处理、高性能计算、图像处理、机器学习集成、自定义加密解密等,使开发人员能够利用 .NET Framework的丰富功能来处理复杂的数据库任务。