集成单群聊 UIKit
大约 2 分钟
UIKit-Andorid 集成文档
集成单群聊 UIKit
使用单群聊 UIKit 之前,你需要将其集成到你的应用中。
前提条件
- Android Studio 4.0 及以上
- Gradle 4.10.x 及以上
- targetVersion 26 及以上
- Android SDK API 21 及以上
- JDK 11 及以上
集成单群聊 UIKit
Module 远程依赖
在 app 项目 build.gradle.kts
中添加以下依赖:
implementation("io.hyphenate:ease-chat-kit:4.7.0")
本地依赖
从 GitHub 获取单群聊 UIKit 源码,按照下面的方式集成:
- 在根目录
settings.gradle.kts
文件(/Gradle Scripts/settings.gradle.kts)中添加如下代码:
include(":ease-im-kit")
project(":ease-im-kit").projectDir = File("../chatuikit-android/ease-im-kit")
- 在 app 的
build.gradle.kts
文件(/Gradle Scripts/build.gradle)中添加如下代码:
//chatuikit-android
implementation(project(mapOf("path" to ":ease-im-kit")))
防止代码混淆
在 app/proguard-rules.pro
文件中添加如下行,防止代码混淆:
-keep class com.hyphenate.** {*;}
-dontwarn com.hyphenate.**
快速搭建页面
创建聊天页面
- 使用
UIKitChatActivity
单群聊 UIKit 提供 UIKitChatActivity
页面,调用 UIKitChatActivity#actionStart
方法即可,示例代码如下:
// conversationId: 单聊会话为对端用户 ID,群聊会话为群组 ID。
// chatType:单聊为 ChatUIKitType#SINGLE_CHAT,群聊为 ChatUIKitType#GROUP_CHAT。
UIKitChatActivity.actionStart(mContext, conversationId, chatType)
UIKitChatActivity
页面主要进行权限的请求,比如相机权限,语音权限等。
- 使用
UIKitChatFragment
开发者也可以使用单群聊 UIKit 提供的 UIKitChatFragment
创建聊天页面,示例代码如下:
class ChatActivity: AppCompactActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_chat)
// conversationID: 1v1 is peer's userID, group chat is groupID
// chatType can be ChatUIKitType#SINGLE_CHAT, ChatUIKitType#GROUP_CHAT
UIKitChatFragment.Builder(conversationId, chatType)
.build()?.let { fragment ->
supportFragmentManager.beginTransaction()
.replace(R.id.fl_fragment, fragment).commit()
}
}
}
创建会话列表页面
单群聊 UIKit 提供 ChatUIKitConversationListFragment
,添加到 Activity 中即可使用。
示例如下:
class ConversationListActivity: AppCompactActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_conversation_list)
ChatUIKitConversationListFragment.Builder()
.build()?.let { fragment ->
supportFragmentManager.beginTransaction()
.replace(R.id.fl_fragment, fragment).commit()
}
}
}
创建联系人列表页面
单群聊 UIKit 提供 ChatUIKitContactsListFragment
,添加到 Activity 中即可使用。
示例如下:
class ContactListActivity: AppCompactActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_contact_list)
ChatUIKitContactsListFragment.Builder()
.build()?.let { fragment ->
supportFragmentManager.beginTransaction()
.replace(R.id.fl_fragment, fragment).commit()
}
}
}