Android SDK

This guide explains how to install and configure WotNot’s Android SDK to embed the native chat widget inside your Android app.

Step 1: Add the SDK Package

1: Add dependency

Add the WotNot SDK and required Android libraries in your app-level build.gradle file:

dependencies {
    // WotNot Chatbot SDK
    implementation 'io.wotnot.android:chatbotsdk:1.0.3'

    // Required Android dependencies
    implementation 'androidx.core:core-ktx:1.13.1'
    implementation 'androidx.appcompat:appcompat:1.7.0'
    implementation 'com.google.android.material:material:1.12.0'
    implementation 'androidx.constraintlayout:constraintlayout:2.2.0'
    implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7'
    implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.8.7'
    implementation 'androidx.fragment:fragment-ktx:1.8.5'
    implementation 'androidx.activity:activity-ktx:1.9.3'
}

1.2: Sync Gradle

In Android Studio:

  • File → Sync Project with Gradle Files

  • Or use the toolbar sync button

Step 3: Add required permissions

Add the following permissions to your AndroidManifest.xml:

Step 2: SDK Configuration

2.1 Create a WidgetConfig

The SDK requires a WidgetConfig object to initialize the chat widget.

Where to find these credentials

YOUR_BOT_ID — open the bot you want to embed, and copy the bot_id from the URL.

YOUR_ACCOUNT_ID — goto Settings > Account Settings and copy the account_id from the URL.

YOUR_ACCOUNT_KEY — Goto the bot list screen, open the embed option from context menu and copy the highlighted key.

Visitor key notes

  • If you don’t provide a visitorKey, the SDK auto-generates and persists one.

  • It’s recommended to provide the unique visitor key, as it helps uniquely identify each visitor and maintain their chats and session history.


Step 2: Initialize the SDK

Call wn.initialize() in your Application class or MainActivity.

IMPORTANT


Step 3: Launching the chat screen

The SDK provides built-in functions to launch chat screens.

All functions optionally support useAnimation = true.

3.1 Conversation list screen

3.2 Conversation detail screen without key

3.2 Ending the conversation

Step 4: Theme customization

You can fully customize the look of the chat widget using WidgetTheme.

4.1 Theme options

Property
Setter
Default
Used For

accentPrimary

setAccentPrimary()

#0075ff

Buttons, headers, links

userMessageTextColor

setUserMessageTextColor()

#FFFFFF

User message text & timestamp

accentSecondary

setAccentSecondary()

#d4e3ffff

Secondary accents

gray8

setGray8()

#F2F5F8

Bot message background

botMessageTextColor

setBotMessageTextColor()

#1C1C1E

Bot text & timestamp

failurePrimary

setFailurePrimary()

#FF0000

Error messages

failureSecondary

setFailureSecondary()

#FFEBEE

Error states

4.2 Applying a theme

Complete integration example

Below is a full working example combining all steps:

Last updated

Was this helpful?