Быстрый старт
Сценарий «за 5 минут»: от подключённой зависимости до первого открытого чата.
Перед стартом
providerUid— уникальный ключ приложения, выданный edna.- URL сервера — полный URL вида
https://name.edna.ru(выдаётся edna). - SDK подключён — зависимость добавлена в Gradle (см. Подключение).
providerUid и URL отображаются администратору edna Chat Center на вкладке «Установка» Android-канала — обратитесь к нему. Пошаговая инструкция: Подключение мобильного чата Android. Если в вашей организации нет доступа к админке edna — напишите в поддержку.
Шаг 1. Инициализация в Application
Создайте собственный класс Application и проинициализируйте SDK один раз:
import edna.chatcenter.ui.visual.core.ChatCenterUI
import edna.chatcenter.ui.visual.ChatConfig
import edna.chatcenter.core.config.transport.ChatTransportConfig
import edna.chatcenter.core.config.transport.ChatNetworkConfig
class MyApp : Application() {
lateinit var chatCenterUI: ChatCenterUI
override fun onCreate() {
super.onCreate()
val chatConfig = ChatConfig(
ChatTransportConfig(cloudHost = "https://name.edna.ru"),
ChatNetworkConfig()
)
chatCenterUI = ChatCenterUI(applicationContext).apply {
init(providerUid = "YOUR_PROVIDER_UID", config = chatConfig)
}
}
}
Не забудьте указать класс в AndroidManifest.xml: <application android:name=".MyApp" ...>.
authorize(...), handleFCMMessage(...) / handlePushMessage(...) до завершения init() приводят к IllegalStateException. Подробнее — Инициализация SDK.
Шаг 2. Авторизация пользователя
После того как ваше приложение авторизовало пользователя, сообщите SDK его идентификатор:
import edna.chatcenter.core.config.ChatUser
val user = ChatUser(identifier = "user-uuid-12345")
chatCenterUI.authorize(user, null)
Второй параметр null — если серверная авторизация через ChatAuth (Bearer-токен) не используется. Подробнее — Авторизация.
Шаг 3. Отображение чата
Добавьте контейнер в layout вашей Activity:
<FrameLayout
android:id="@+id/chat_container"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
В Activity встройте ChatFragment:
import edna.chatcenter.core.annotation.OpenWay
import edna.chatcenter.ui.visual.fragments.ChatFragment
val chatCenterUI = (application as MyApp).chatCenterUI
val chatFragment = chatCenterUI.getChatFragment()
?: ChatFragment.newInstance(OpenWay.DEFAULT)
supportFragmentManager.beginTransaction()
.replace(R.id.chat_container, chatFragment)
.commit()
Альтернативы (готовая ChatActivity, BottomSheet, edge-to-edge, обработка «Назад») — Отображение чата.
Что дальше
- Жизненный цикл приложения —
logout,deauthorizeUser, повторная авторизация. - Push-уведомления — FCM/HMS (не обязательно для первого открытия чата).
- Темы — кастомизация цветов, типографики и компонентов.
- Transport config / Network config / Logger — раздельные REST/WS URL, SSL pinning, кастомное логирование.
- Troubleshooting — если что-то не работает, включите
ChatLogLevel.VERBOSEи смотрите logcat по тегуChatCenter.