Mobile SDK
Chat inside your app: setup, push, identifying users
Documents
Clomni Mobile SDK: integration guide
Adding Clomni Messenger to your own iOS and Android app: the channel in the dashboard, keys and user_hash, code for Android, iOS, React Native, Flutter and Unity, Firebase and APNs push keys, troubleshooting.
v1.0.5 · 72 pages
Open
Download
14 articles
- Adding the Mobile SDK to a Flutter app flutter pub add clomni_flutter. On iOS the SDK is a Swift package: with Swift Package Manager on, the plugin fetches it itself; with CocoaPods the Podfile needs the :git line. On Android, MainActivity must extend FlutterFragmentActivity. Clomni.initialize in main(), firebase_messaging for push on Android, and a native notification delegate in Runner on iOS. Last updated: 9 October 2026
- Adding the Mobile SDK to a React Native or Expo app npm install @clomni/react-native, then pod install on iOS. Call Clomni.initialize in index.js with the platform's key. In Expo, a development build and the package's config plugin, not Expo Go. Android push: the token and setBackgroundMessageHandler with @react-native-firebase/messaging. iOS push does not go through Firebase: a native delegate catches the tap, and the APNs token is passed with getAPNSToken. Last updated: 9 October 2026
- Adding the Mobile SDK to a Unity game Add the package by git URL in the Package Manager; the External Dependency Manager (EDM4U) brings the native SDKs. After an iOS build, change the pod line in the Podfile to the :git form and open the .xcworkspace. Call Clomni.Initialize with RuntimeInitializeOnLoadMethod. Android push with the Firebase Unity SDK plus your own ListenerService for a closed game; iOS push with the Mobile Notifications package. Last updated: 9 October 2026
- Adding the Mobile SDK to an Android app Add the ai.clomni:messenger:1.0.5 package, call Clomni.initialize in Application.onCreate, sign the user in with loginUser and open the Messenger from your own button with Clomni.present. For push, pass the token to Clomni.setDeviceToken and the message to ClomniPush.handle in your own FirebaseMessagingService, and ask for the POST_NOTIFICATIONS permission on Android 13+. Last updated: 9 October 2026
- Adding the Mobile SDK to an iOS app Add the ClomniMessenger package with Swift Package Manager (or the :git line in CocoaPods), call Clomni.initialize in the AppDelegate, sign the user in with loginUser and open the Messenger with Clomni.present after the screen is shown. Push needs the Push Notifications capability, setDeviceToken and handlePush in the AppDelegate, and a Sandbox & Production APNs key in the dashboard. Last updated: 9 October 2026
- Creating the Mobile app (App SDK) channel and where its settings are Settings › Workspace settings › Inboxes › “Add Inbox” › “Mobile app (App SDK)” › “Connect”. The wizard has 6 steps, only the first is required. On the channel page, the settings are in their own column next to the dashboard's menu, with the channel name and a ← button at the top: APP (Overview, Installation, Security, Push, Guide), MESSENGER (Appearance, Flows, News, CSAT), INBOX (Settings, Collaborators, Business Hours, Analytics). Last updated: 9 October 2026
- Mobile SDK keys and identifying users (user_hash) The App ID and API key go in the app, the Identity Secret stays on your server only. The server computes user_hash = hex(HMAC-SHA256(identity_secret, user_id)) for each user and the app passes it to loginUser. Modes: Off, Recommended, Enforced. When you make a new secret or a new API key, the old one keeps working for 7 more days. Last updated: 9 October 2026
- Mobile SDK push keys: Firebase (FCM) and APNs For Android, the dashboard takes the Firebase project's service account JSON (Project settings › Service accounts › Generate new private key), not google-services.json. For iOS, a .p8 APNs key with Key ID, Team ID and Bundle ID; the key must be created with Environment: Sandbox & Production, or APNs answers BadEnvironmentKeyInToken. Check with “Test push” in the channel's Push section. Last updated: 9 October 2026
- Mobile SDK: errors, causes and fixes Look at the channel's “Overview” and the SDK's debug log first. The usual ones: 401 invalid_api_key (the other platform's key, a revoked key, an iOS Bundle ID mismatch), a wrong user_hash and 403 identity_verification_failed, APNs BadEnvironmentKeyInToken, the Android 13 notification permission, google-services.json uploaded to the dashboard, Firebase not seeing Clomni pushes on iOS, pod install errors, a flow that does not start, the language. Last updated: 13 October 2026
- Mobile SDK: frequently asked questions Minimum versions, the SDK's size (Android AAR about 2 MB, iOS about 3.7 MB), what data it collects, the Apache-2.0 licence, changing keys and the secret (the old one works for 7 more days), how many apps one channel holds, test and live environments, the push title, CSAT, working without internet, Expo and the “Powered by Clomni” label. Last updated: 9 October 2026
- Mobile SDK: the first 15 minutes, from zero to the first message Create the channel, store the keys, add the package and call initialize, sign the user in with user_hash, open the Messenger from your own button. Then check: the device shows up under Installation, “Test a hash” says “Correct”, “Test push” brings a notification, and a message written in the app shows up in Conversations. Last updated: 9 October 2026
- Mobile SDK: versions and what is new In 1.0.5 the camera's FileProvider is the SDK's own class, so the Android build no longer collides with libraries that have their own FileProvider, such as unity-webview; Android, React Native, Flutter and Unity are 1.0.5, iOS stays 1.0.4. In 1.0.4 the flow decides whether the customer can type: the text box can stay under the buttons, and a “Turn off typing” step keeps the conversation locked after the flow is over; all packages are 1.0.4. In 1.0.3 the microphone button answers the moment it is touched and a one-second press is recorded; all packages are 1.0.3. 1.0.2 brings voice messages, photos and videos from the camera, an offline queue and several fixes; iOS is 1.0.2 too. For voice messages the Android app declares `RECORD_AUDIO`. In 1.0.1 the Android SDK sends the app's package name and Clomni compares it with the inbox's Android package name: when they differ, the key is refused. Android, React Native, Flutter and Unity are 1.0.1, iOS stays 1.0.0. To update, change the package's version. Last updated: 13 October 2026
- The mobile Messenger's appearance, flows, news, CSAT and push title Appearance changes stay in a draft; apps see them only after “Publish”, with no new release. Flows are grouped by trigger: “When a conversation starts”, “App event” (startFlow), “By hand”, “When the conversation status changes”, “Reusable”. The Messenger runs only a published flow. News shows on the Messenger's home; its editor is a page of its own. Flows and News have a “How does it look in the app?” link that shows the SDK's screens. CSAT is turned on in the channel's CSAT section. The notification title is chosen in the Push section. Last updated: 13 October 2026
- What the Mobile SDK is and who needs it The Clomni Mobile SDK opens Clomni Messenger inside your own iOS or Android app: users write without leaving the app, and the conversation reaches your agents in Clomni. There are packages for Android, iOS, React Native, Flutter and Unity. The “Mobile app (App SDK)” channel is not on for every account: if it is missing from the catalog, the Clomni team turns it on. Last updated: 9 October 2026