Android基于环信实现聊天功能(一)——了解环信

本系列知识点来自于:b站尚硅谷Android通信实战。

一、环信集成概述

环信和用户体系的集成主要发生在2个地方,服务器端集成和客户端集成。

1.1发送消息过程

客户端通过环信服务器进行消息发送。如下图所示:

  • 在线状态:客户端A发送消息到环信服务器,环信服务器推送消息到客户端B。

  • 离线状态:客户端A发送消息到环信服务器,环信服务器检测到客户端B不在线,会添加到离线缓存中,当客户端B登录后服务器会把离线消息推送给客户端B。

1.2聊天记录保存

        客户端A发送消息到环信服务器的同时,SDK 会保存这条消息到本地数据库(SDK 内部创建数据库,不允许直接操作),环信服务器在推送消息到客户端B的同时也会在服务器记录下来(消息历史记录免费存储3天),客户端B收到消息后,SDK 会将这条消息存储到本地数据库。

注:客户端并未提供去服务器获取聊天记录的接口,所以,如果换了设备或者清空了数据,聊天记录都不会存在。如果有需求要从服务器拉取聊天记录,可以在自己服务器处理。

二、下载对应的SDK

环信官网:

环信即时通讯云https://console.easemob.com

下载好最新的sdk后——>解压得到如下文件夹

  • doc 文件夹:SDK 相关 API 文档

  • examples 文件夹:EaseIm3.0 (修改好配置之后可以直接使用)

  • libs 文件夹:包含 IM 功能所需要的 jar 和 so 文件

  • tools 文件夹:工具类文件

2.1 Android SDK 介绍

环信 SDK 为用户开发 IM 相关的应用提供的一套完善的开发框架。包括以下几个部分:

  • SDK_Core 为核心的消息同步协议实现,完成与服务器之间的信息交换。

  • SDK 是基于核心协议实现的完整的 IM 功能,实现了不同类型消息的收发、会话管理、群组、好友、聊天室等功能。

  • EaseIMKit 是一组 IM 相关的 UI 控件,旨在帮助开发者快速集成环信 SDK。

开发者可以基于 EaseIMKit 或者环信 SDK 开发自己的应用,前者因为把消息的发送接送等功能封装到了内部,集成时开发者不需要太关心消息是怎么发送、怎么接收等逻辑。请查阅EaseIMKit 使用指南

SDK 采用模块化设计,每一模块的功能相对独立和完善,用户可以根据自己的需求选择使用下面的模块:

  • EMClient: SDK 的入口,主要完成登录、退出、连接管理等功能。也是获取其他模块的入口。

  • EMChatManager: 管理消息的收发,完成会话管理等功能。

  • EMContactManager: 负责好友的添加删除,黑名单的管理。

  • EMGroupManager: 负责群组的管理,创建、删除群组,管理群组成员等功能。

  • EMChatroomManager: 负责聊天室的管理。

三、集成过程

3.1创建项目

创建项目使用MVC的结构来实现功能。

3.2 在环信中创建应用

前面的依照手册来。主要要注意注册模式。

  • 授权注册:需要通过APP的后台服务器(在服务器中加入一些校验的方法)
  • 开放注册:无需通过APP的后台服务器

3.3 手动复制 jar 包及 so 导入

在下载的 SDK 中,有个 libs 文件夹,libs 文件夹里是 jar 包和 so 文件。

3.4 通过 gradle 远程链接导入

Android SDK 介绍及导入 [IM开发文档]

具体做法:

  1. 修改minSdkVersion 19(看版本要求)
  2. //EaseIMkit
    implementation 'io.hyphenate:ease-im-kit:3.8.5'
    implementation 'io.hyphenate:hyphenate-chat:3.8.5'
  3. 在AndroidManifest.xml中添加依赖和配置
  4. 设置AppKey
  5. 自定义一个Application   //EaseIM初始化
    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

撩得Android一次心动

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值