环信自学 实现通话功能心得—Eclipse篇

来源:互联网 发布:shell curl post json 编辑:程序博客网 时间:2024/05/18 15:08

因为公司项目需要,在短时间内要集成环信,并用他完成项目里面的即时通讯功能(语音和视频聊天),本人也就相当于是一个安卓初级工程师,所以在那段暗无天日的日子里,自己对环信了解了一点,在这里想和大家分享一下,不足之处真心希望大家指教!

环信的集成

刚刚听到集成的时候感觉说不出来的高大上,以为要怎么怎么样。谁知道也就是把环信的一些SDK包和权限,还有一些服务什么的在你的项目里面配置好!

第一步:去环信官网上下载你所需要的环信SDK的版本,他现在主要分2.X和3.X版本,这两个版本其实区别还是蛮大的,特别是对于开发来说,也不要有3.X版本的功能一定比2.X的功能多的这个误区,相铺相成而已。需要语音就3.X版本,不需要语音2.X足够满足你的需求!

环信SDK(3.X为例)目录介绍:

考虑到开发者需求不一样,在下载的 SDK 中,提供了两个不同的 jar 包:

  • 一个是 libs 下带实时语音功能和实时视频功能的 jar 包和 so 文件。 (将此文件夹下的所有内容,全部复制在自己的项目里面libs文件夹下即可
  • 如果你不需要实时语音、实时视频功能,那就直接用 libs.without.audio 文件夹下的 jar 包及 so 文件。
在这里主要介绍后面四个文件夹内容:
  • doc 文件夹:SDK 相关 API 文档
  • examples 文件夹:ChatDemoUI(老的 Demo,不推荐使用)、ChatDemoUI3.0(3.0Demo 依赖 EaseUI 库)、EaseUI
  • libs 文件夹:包含IM和实时音视频功能所需要的 jar 和 so 文件
  • libs.without.audio 文件夹:无实时语音、实时视频功能的 SDK 包,如果项目中只用到聊天功能,可以把项目里的 jar 和 so 文件替换成此文件夹里的
SDK用到的第三方的库的介绍
  • android-support-v4.jar:这个可以说是每个 APP 中都是不可缺少的 jar 包,这里不多赘述
  • google-play-services.jar:GCM 的 jar 包,不需要 GCM 推送可以删除
  • MiPush_SDK_Client_2_2_19.jar:小米推送的 jar 包,不需要可以删除
  • org.apache.http.legacy.jar:Android6.0 中默认移除了 httpclient 的代码,用这个库兼容,建议不要删除,否则在 6.0 系统中,SDK 会有问题
EaseUI中用到的第三方的库 (EaseUI是环信的UI库,只要依赖了它,就能用里面所有关于环信的页面布局和一些简单的逻辑 注:前提EaseUI里面得有、)
  • glide-3.6.1.jar:图片处理库,显示用户头像时用到
  • BaiduLBS_Android.jar:百度地图的 jar 包,相关 so 还有 libBaiduMapSDK_base_v3_6_1.so、libBaiduMapSDK_map_v3_6_1.so、libBaiduMapSDK_util_v3_6_1.so 及 liblocSDK6a.so。如果不用百度可以把这些删除掉,删除掉后项目会报错,修改相应的报错(报错的代码很少,很容易就修改完成)
环信DEMO中用到的第三方的库
  • android-support-multidex.jar:APP 总方法数超过 64k 时,需要用这个库做分包处理,可以删除
  • bolts-android-1.2.0.jar、Parse-1.9.4.jar:Demo 中的用户信息存储在 Parse,这两个库是 Parse 所需要的库,开发者如果没用 Parse 存储,不要复制到自己项目中
  • umeng-analytics-v5.2.4.jar、umeng-update-v2.6.0.1.jar:友盟相关的库,开发者不用或者已有别的版本的库不要复制到自己项目
第二步:将官网上面的配置信息copy过来

在清单文件 AndroidManifest.xml 里加入以下权限,以及写上你注册的 AppKey。

权限配置(实际开发中可能需要更多的权限,可参考 Demo):


还需要加入环信SDK与环信服务器的一个长连接接收器(在清单中)

环信SDK的初始化

第一步建立自己的Application类 在这里初始化环信SDK

先歇会儿、、、

2 4