Introduction
Minimal SDK integration path: Installation → Quick start → Authorization → Displaying the chat → Notifications.
Before you start, get the providerUid and cloudHost from your edna Chat Center administrator — they are displayed on the Android channel's "Setup" tab (details). Without them, SDK initialization is impossible. If you do not have access to the admin panel, write to edna support.
About the product
edna Chat Center Android SDK embeds an operator chat into an Android app: two-way messaging, push notifications, file uploads, voice messages, surveys.
Minimum requirements: Android 5.0+ (API 21), Kotlin 1.9.10+. UI built on XML Views (Jetpack Compose support is in development).
Push notifications: FCM is included in the SDK (you need google-services.json and the com.google.gms.google-services plugin); HMS is connected separately — see Notifications. The server side is configured by the administrator in the edna Chat Center admin panel: Android, Huawei, push template.
Chat customization
Colors, typography, images, component styles, and flow scenarios are configured through the SDK design system. The full list of tokens is in the Design system section.
Only design-system tokens and styles are changeable. System icons and some service screens cannot be customized. A number of public API fields are ignored in the current version — see the list in Known limitations.
Quick lookup: what I want to do
| Task | Method / class | Section |
|---|---|---|
| Add the SDK to a project | implementation 'edna.chatcenter.ui.android:release:<version>' (current version — in Installation) | Installation |
| Initialize the SDK | ChatCenterUI(context).apply { init(providerUid, config) } | Quick start |
| Authorize the user | authorize(client: ChatUser, auth: ChatAuth?) | Authorization |
| Open the chat screen | getChatFragment() / getChatActivity() | Displaying the chat |
| Send a message programmatically | send(ChatMessage.TextMessage("...")) | API reference → Messages |
| Prefill the input field | prefill(message) | API reference → Messages |
| Get the unread counter | UnreadMessagesController.INSTANCE.pushesCount | API reference |
| Subscribe to SDK events | setChatCenterUIListener(listener) | Advanced settings |
| Configure push notifications | ChatCenterUI.setFCMToken(token, context) | Notifications |
| Handle a push | handleFCMMessage(data) | Notifications |
| Customize appearance | theme = ChatTheme(...) | Themes |
| Enable logging | ChatLoggerConfig(logLevel = ChatLogLevel.DEBUG) | Advanced settings |
| Sign out (with push unsubscribe) | logout() | Authorization |
| Sign out (locally only) | deauthorizeUser() | Authorization |
| Find out the SDK version | chatCenterUI.version | API reference |
| Learn about SDK permissions | Permissions, permissionsDescriptionDialogsEnabled | Permissions |
Documentation navigation
| Section | Description |
|---|---|
| Installation | Dependency setup, Gradle, ProGuard |
| Quick start | Step-by-step integration of a basic chat |
| Authorization | ChatUser, ChatAuth, logout |
| Displaying the chat | Fragment vs Activity |
| Notifications | FCM, HMS, push handling |
| Lifecycle | Integrating with the app lifecycle |
| API reference | Full reference of SDK methods |
| Themes | UI customization |
| Localization | String resources |
| Error handling | Diagnostics and troubleshooting |
| Troubleshooting | Symptoms, checklists, common errors |