Skip to main content

iOS Configuration

LovinaChatConfig

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

let config = LovinaChatConfig(
websiteToken: "your-website-token",
baseUrl: "https://chat.lovina.app",
locale: "en",
colorScheme: "auto",
user: nil,
customColor: nil,
displayMode: "fullscreen"
)

Fields

ParameterTypeDefaultRequiredDescription
websiteTokenString--YesYour Lovina website channel token. Obtained from the Lovina dashboard.
baseUrlString--YesBase URL of your Lovina instance (e.g., https://chat.lovina.app).
localeString"id"NoWidget locale code. Supported values include "id", "en", "ar".
colorSchemeString"auto"NoColor scheme for the widget. Accepts "light", "dark", or "auto" (follows system theme).
userLovinaChatUser?nilNoPre-identified user to associate with the conversation. See below.
customColorUIColor?nilNoBrand color for header and bubble theming.
displayModeString"fullscreen"NoWidget display mode. Accepts "popup", "sidebar", or "fullscreen".

LovinaChatUser

The LovinaChatUser struct 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.
customAttributes[String: Any]?NoArbitrary key-value metadata attached to the contact.

Example: Full Configuration

import LovinaChatSDK

let config = LovinaChatConfig(
websiteToken: "ws-tok-abc123",
baseUrl: "https://chat.lovina.app",
locale: "en",
colorScheme: "dark",
displayMode: "fullscreen",
customColor: UIColor(red: 0.39, green: 0.40, blue: 0.95, alpha: 1.0),
user: LovinaChatUser(
identifier: "user-12345",
name: "Jane Doe",
email: "jane@example.com",
phoneNumber: "+6281234567890",
identifierHash: "hmac-sha256-hash",
customAttributes: [
"plan": "premium",
"signup_date": "2025-01-15"
]
)
)