如何搭建应用级别的在线聊天室

网易智企 TOP1 347

搭建集成聊天室基础篇的步骤:1、集成 SDK;2、功能使用;3、进入聊天室;4、离开聊天室。搭建集成聊天室UI篇的步骤:1、集成 UI 组件;2、功能使用;3、进入聊天室;4、离开聊天室。

一、集成聊天室-基础篇

1、集成 SDK

Gradle集成

首先,在整个工程的 Build.gradle 文件中,配置 repositories,使用 jcenter 或者 maven ,二选一即可,如下:

C:\Users\shushujuan\Downloads\carbon (29).png

然后,在主工程的 Build.gradle 文件中,添加 NDK 支持库。

C:\Users\shushujuan\Downloads\carbon (30).png

再是根据自己项目的需求,添加不同的依赖。注意:云信的组件版本号必须一致。可在 SDK 下载页面查看当前最新版本。这里以 8.6.0 版本为例:

C:\Users\shushujuan\Downloads\carbon (31).png

权限与组件

在 AndroidManifest.xml 中加入以下配置(请将 com.netease.nim.demo 替换为自己的包名):

C:\Users\shushujuan\Downloads\carbon (32).png

混淆配置

如果你的 APK 最终会经过代码混淆,请在 Proguard 配置文件中加入以下代码:

C:\Users\shushujuan\Downloads\carbon (33).png

2、功能使用

初始化

需要在 Application 中,初始化云信 SDK。

C:\Users\shushujuan\Downloads\carbon (34).png

3、进入聊天室

进入聊天室可以有两种方式:以独立模式进入聊天室和非独立模式进入聊天室。

独立模式是指 在 IM 处于未登录的情况下,进入聊天室的方式,针对只需要聊天室功能的业务场景。

非独立模式是指 先完成 IM 登录,再进入聊天室的方式,针对需要 IM 和聊天室功能的业务场景。

这里只演示独立模式,选择以独立模式进入聊天室时,必须提前设置聊天室独立模式。

独立模式的非匿名登录和非独立模式都需要 accid 和 token。

C:\Users\shushujuan\Downloads\carbon (46).png

收发消息

先通过 ChatRoomMessageBuilder 提供的接口创建消息对象,然后调用 ChatRoomService 的 sendMessage 接口发送出去即可。下面以文本消息发送为例,其它类型的消息发送方式与 IM 单聊群聊类似。

C:\Users\shushujuan\Downloads\carbon (36).png

通过添加消息接收观察者,在有新消息到达时,就可以接收到通知。

C:\Users\shushujuan\Downloads\carbon (37).png

4、离开聊天室

离开聊天室,会断开聊天室对应的链接,并不再收到该聊天室的任何消息。如果用户要离开聊天室,可以手动调用离开聊天室接口,该接口没有回调。

C:\Users\shushujuan\Downloads\carbon (38).png

二、集成聊天室- UI 篇

1、集成 UI 组件

下载组件

链接:https://github.com/netease-kit/NIM_Android_Demo/tree/dev_g2

UI 组件的 Demo 已经上传到 Github 仓库中,可以直接下载,下载的 Demo 包含源码形式的 UI 组件库,可以直接导入到一个 Android Studio 项目中。

导入到项目中

在 Demo 源码中找到 Uikit 文件夹,并复制到自己项目中

Generated

在整个工程的 Build.gradle 文件中,配置 Repositories,如下:

C:\Users\shushujuan\Downloads\carbon (39).png

在整个工程的 Build.gradle 文件中,把下面配置添加到末尾;并调整 Uikit 的 Build.gradle 中的配置项和主工程保持一致。

C:\Users\shushujuan\Downloads\carbon (40).png

在项目根目录下,找到 Settings.gradle 文件,并添加以下内容导入Uikit模块

C:\Users\shushujuan\Downloads\carbon (41).png

在对应 Application/Library 模块的 Build.gradle 文件下添加对 Uikit 模块的依赖。

C:\Users\shushujuan\Downloads\carbon (42).png

2、功能使用

初始化

在 Application 中,在初始化云信 SDK 之后,初始化UIKit,请务必放在主进程中初始化,否则可能出现一些异常。

C:\Users\shushujuan\Downloads\carbon (43).png

添加布局

Uikit 中 ChatRoomMessageFragment 以 Fragment 方式实现了聊天室的功能,开发者只需要将该 Fragment 集成到自身的 Fragment 或者 Activity 中即可。

3、进入聊天室

在聊天室 SDK 登录成功的回调中,调用下面代码

C:\Users\shushujuan\Downloads\carbon (44).png

4、退出聊天室

退出聊天室的代码比较简单和 SDK 退出聊天室放在一起即可

C:\Users\shushujuan\Downloads\carbon (45).png

以上就是聊天室解决方案 Demo 安卓端接入流程的详细解说,按照如上步骤就可以完成应用级聊天室的搭建。

拓展阅读

“AI+音频”行业名列前茅网易云信论文成果获声学顶会 INTER-NOISE 高度认可

由网易云信音频实验室完成的两篇论文被大会收录,获得国际公开认可。入选的两篇论文聚焦在 AI 音频降噪和 AI 音乐检测两个方向,突破多个音频核心技术问题,自建国内行业中为数不多的 AI 音乐检测模型,引起了从业者的强烈关注。与会者认为,随着 AI 应用的不断加深,音视频处理技术会随之提高,将带动产业朝着高质量方向发展。


本文作者:网易云信

回复

我来回复
  • 暂无回复内容

注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部