快速上手
本教程是为了让新手快速了解融云即时通讯界面库(Global IM UIKit SDK )。在本教程中,您可以体验集成 Global IM UIKit SDK 的基本流程和 Global IM UIKit 提供的 UI 界面。
环境要求
适用于 Android 的 Global IM UIKit 的最低要求是:
Android 5 (API level 21) 或更高版本
前置条件
-
注册开发者账号。注册成功后,控制台会默认自动创建您的首个应用,默认生成开发环境下的 App Key,使用国内数据中心。
-
获取开发环境的应用 App Key。如不使用默认应用,请参考 如何创建应用,并获取对应环境 App Key 和 App Secret。
提示每个应用具有两个不同的 App Key,分别对应开发环境与生产环境,两个环境之间数据隔离。在您的应用正式上线前,可切换到使用生产环境的 App Key,以便上线前进行测试和最终发布。
Demo 项目
融云提供了一个 Android 端 Demo 项目,集中演示了 Global IM UIKit 的功能。
https://github.com/rongcloud/android-global-im-uikit-quickdemo
快速上手
您可以通过集成 Android 版 Global IM UIKit 实现一对一聊天、群组聊天,和接收系统会话消息。
步骤 1 创建项目
首先,打开 Android Studio 并在 Project 窗口中创建一个新项目,如下所示:
- 在 Welcome to Android Studio 窗口中点击 Start a new Android Studio project。
- 选择 Empty Activity,接着点击 Next。
- 在 Name 字段中输入您的项目名称。
- 从语言下拉菜单中选择您的语言 Java or Kotlin。
- 选择最低 API 级别为 21 或更高。
步骤 2 导入 SDK
Global IM UIKit 支持通过 Maven、本地 Module 两种方式的方式集成。请提前在融云官网 SDK 下载页面或融云的 Maven 仓库查询最新版本。安装 Global IM UIKit 将自动集成即时通讯能力库 IMLib。
Gradle
请注意使用 融云的 Maven 仓库。
-
打开根目录下的
build.gradle
(Project 视图下),声明融云的 Maven 代码库。Groovyallprojects {
repositories {
...
//融云 maven 仓库地址
maven {url "https://maven.rongcloud.cn/repository/maven-releases/"}
}
} -
在应用的
build.gradle
中,添加融云即时通讯界面库(IMKit)为远程依赖项。Javadependencies {
...
//此处以集成 Global IM UIKit 库为例,您可以按需集成插件
api 'cn.rongcloud.sdk:global_im_uikit:x.y.z'
}各个 SDK 的最新版本号可能不相同,还可能是 x.y.z.h,可前往 融云官网 SDK 下载页面 或 融云的 Maven 代码库 查询。
本地库模块
在导入 SDK 前,您需要前往融云官网 SDK 下载页面,将 Global IM UIKit 下载到本地并解压。
-
在 Android Studio 中打开工程后,把解压出来的
.aar
文件复制到app/libs
目录下。 -
把解压出来的
build.gradle
文件打开,把相关内容复制到app/build.gradle
目录下。 -
执行同步。
步骤 4 代码混淆
当您使用 minifyEnabled true
构建 APK 时,将以下行添加到模块的 ProGuard 规则文件中。
-keepattributes Exceptions,InnerClasses
-keepattributes Signature
-keep class io.rong** {*;}
-keep class com.rongcloud.im.uikit** {*;}
-keep class * implements io.rong.imlib.model.MessageContent {*;}
-ignorewarnings
步骤 5 使用 App Key 初始化
Global IM UIKit 依赖于 IMLibCore 的即时通讯能力,使用前需要对 IMLibCore 进行初始化。请在 Application 的 onCreate()
方法中初始化 SDK,传入生产或开发环境的 App Key。
public class App extends Application {
@Override
public void onCreate() {
String appKey = "YourAppKey"; // example: bos9p5rlcm2ba
InitOption initOption = new InitOption.Builder().build();
RongCoreClient.init(this, appKey, initOption);
}
}
初始化配置(InitOption
)中封装了区域码(AreaCode)配置。SDK 将通过区域码获取有效的导航服务地址、文件服务地址、数据统计服务地址、和日志服务地址等配置。
- 如果 App Key 属于中国(北京)数据中心,您无需传入任何配置,SDK 默认连接北京数据中心。
- 如果 App Key 属于海外数 据中心,则必须传入有效的区域码(AreaCode)配置。请务必在控制台核验当前 App Key 所属海外数据中心后,找到 AreaCode 中对应的枚举值进行配置。
例如,使用新加坡数据中心的应用的生产或开发环境的 App Key:
String appKey = "Singapore_dev_AppKey";
AreaCode areaCode = AreaCode.SG;
InitOption initOption = new InitOption.Builder()
.setAreaCode(areaCode)
.build();
RongCoreClient.init(this, appKey, initOption);
初始化配置(InitOption
)中还封装了是否开启推送的开关(enablePush
)、主进程开关(isMainProcess
)等。不传入任何配置表示全部使用默认配置。详细说明参见 IMLib SDK 文档 · 初始化。
步骤 6 获取当前用户 Token
用户 Token 是与用户 ID 对应的身份验证令牌,是应用程序的用户在融云的唯一身份标识。应用客户端在使用融云即时通讯功能前必须与融云建立 IM 连接,连接时必须传入 Token。