Skip to main content

Android Configuration

LovinaChatConfig

The LovinaChatConfig class holds all configuration options for the chat widget.

val config = LovinaChatConfig(
websiteToken = "your-website-token",
baseUrl = "https://chat-prod.ailovina.com",
locale = "en",
colorScheme = "auto",
user = null,
theme = null,
branding = null,
texts = null,
features = null,
displayMode = "fullscreen"
)

Fields

ParameterTypeDefaultRequiredDescription
websiteTokenString--YesYour Lovina website token for this agent. Obtained from the Lovina dashboard -- each agent has its own token.
baseUrlString--YesBase URL of your Lovina instance (e.g., https://chat-prod.ailovina.com).
localeString"id"NoWidget locale code. Supported values include "id", "en", "ar".
colorSchemeString"auto"NoDark mode preference for the widget. Accepts "light", "dark", or "auto" (follows system theme).
userLovinaChatUser?nullNoPre-identified user to associate with the conversation. See below.
themeLovinaThemeConfig?nullNoTheme color and layout overrides. Only primaryColor is required in practice -- see Theming. Colors are hex Strings, not ARGB Ints.
brandingLovinaBrandingConfig?nullNoWhite-label branding overrides (logo, brand name, "powered by" footer).
textsMap<String, Any?>?nullNoUI string overrides, keyed by translation key.
featuresLovinaFeatureFlags?nullNoFeature-flag overrides.
displayModeString"fullscreen"NoWidget display mode. Accepts "popup", "sidebar", or "fullscreen".

Theming

Only LovinaThemeConfig.primaryColor is required in practice -- every other color is auto-generated by the widget to meet WCAG AA contrast. Colors are hex strings (e.g. "#6366F1"), not Color ints:

LovinaChatConfig(
websiteToken = "your-website-token",
baseUrl = "https://chat-prod.ailovina.com",
theme = LovinaThemeConfig(
primaryColor = "#6366F1",
fontFamily = "Inter, sans-serif",
bubbleRadius = 16
),
branding = LovinaBrandingConfig(
brandName = "Acme Support",
poweredBy = false
)
)

LovinaChatUser

The LovinaChatUser class represents a pre-identified user.

ParameterTypeRequiredDescription
identifierStringYesUnique user ID in your system.
nameString?NoDisplay name.
emailString?NoEmail address.
phoneNumberString?NoPhone number (E.164 format recommended).
identifierHashString?NoHMAC hash for identity verification. Generate server-side.
customAttributesMap<String, Any>?NoArbitrary key-value metadata attached to the contact.

Example: Full Configuration

import com.lovina.chatsdk.*

val config = LovinaChatConfig(
websiteToken = "ws-tok-abc123",
baseUrl = "https://chat-prod.ailovina.com",
locale = "en",
colorScheme = "dark",
displayMode = "fullscreen",
theme = LovinaThemeConfig(
primaryColor = "#6366F1"
),
branding = LovinaBrandingConfig(
brandName = "Acme Support"
),
user = LovinaChatUser(
identifier = "user-12345",
name = "Jane Doe",
email = "jane@example.com",
phoneNumber = "+6281234567890",
identifierHash = "hmac-sha256-hash",
customAttributes = mapOf(
"plan" to "premium",
"signup_date" to "2025-01-15"
)
)
)

chatWidget.configure(config)