01_环信集成 app 即时通讯功能基础

在 app 中需要使用到即时通讯的功能,自己在项目中使用的是环信的即时通讯平台。接下来的几篇文章都会说明和总结自己的使用过程的一些细节。

在数据的安全方面,环信的即时通讯平台只需要项目与环信服务器的消息数据的传递,并不需要涉及到自己核心业务的用户数据。在这点上感觉还是比较靠谱的。

对于只需要一些基本的即时通讯功能(用户数据、群组、消息、消息推送、状态、文件),环信平台的集成和使用还是免费的,这也是不错的选择。

Android SDK 概述

环信 SDK 开发框架包括 SDK_Core、SDK、EaseUI。

  • SDK_Core:核心的消息同步协议实现,完成了和环信服务器之间的信息交换;
  • SDK:在核心协议的基础上实现了完整的 IM 功能,包括不同类型的消息收发、会话管理、群组、好友等功能;
  • EaseUI:一组 IM 相关的 UI 控件,把消息的发送接收等功能封装到了内部,可满足快速开发的要求。

环信 SDK 采用了模块化设计,每一个模块的功能相对独立,我们可以根据自己的需求选择合适的模块。

EMClient:EMChatManager 模块、EMContactManager 模块、EMGroupManager 模块、EMChatRoomManager 模块。

  • EMClient:SDK 的入口,主要完成登录、退出、连接管理等功能,也是获取其他模块的入口;
  • EMChatManager:管理消息的收发,完成会话管理等功能;
  • EMContactManager:负责好友的添加删除,黑名单的管理;
  • EMGroupManager:负责群组的管理,创建、删除群组,管理群成员等功能;

Gradel 导入 SDK

android {
    //use legacy for android 6.0
    useLibrary 'org.apache.http.legacy'
}
dependencies {
    compile 'com.android.support:appcompat-v7:23.4.0'
    //Optional compile for GCM (Google Cloud Messaging).
    compile 'com.google.android.gms:play-services-gcm:9.4.0'
    compile 'com.hyphenate:hyphenate-sdk:3.3.0'
}

如果不需要音视频通话的 SDK,使用 compile 'com.hyphenate:hyphenate-sdk-lite:3.3.0',具体 SDK 版本号参考 这里。

SDK 中使用到的第三方库

  • google-play-services:GCM 推送;
  • org.apache.http.legacy:Android6.0 中默认移除了 httpclient 的代码,用这个库兼容,不能删除,否则在 6.0 系统中,SDK 会有问题。

EaseUI 中使用到的第三方库

  • glide:图片处理库。

实际项目中用到的第三方库

  • com.android.support:multidex:1.0.1:APP 总方法数超过 64k 时,需要用这个库做分包处理。使用环信 SDK 肯定得分包,它占的太大了。

如果对生成的 apk 大小比较敏感,建议使用 jar 方式,并且手工拷贝 so。如果使用 lite 版,建议仅保留 armeabi;如果使用音视频版,建议仅保留 armeabi-v7a。这样虽然在对应平台执行的速度会降低,但是能有效减小 apk 的大小。

AndroidManifest 配置信息

 
    
    
    
    
    
    
    
      
    
    
    
    
    
    
    
    

...


        
        
        
        
        
        
            
                
                
            
            
            
                
                
            
        

App 混淆

在 ProGuard 文件中加入以下 keep

-keep class com.hyphenate.** {*;}
-dontwarn  com.hyphenate.**

文章只是作为自己记录学习使用,如果有使用不当的地方可以@我。

参考文章:
环信开发文档

你可能感兴趣的:(01_环信集成 app 即时通讯功能基础)