Build an integration

Mobile chat SDKs

Add Sonny support chat to your customer-facing iOS, Android or React Native app. Customers can contact your team from inside your app using your existing Sonny inbox.

Looking for the app your support team uses to reply? Install the Sonny agent app.

Choose your SDK

Connect your app

  1. In a mobile-enabled Sonny environment, open Channels → Live Chat → Mobile apps. An owner or admin creates an app key for each platform and bundle or application ID.
  2. Install the SDK using its repository README. Configure it with your site ID and the public app key for that build target. React Native needs separate iOS and Android app keys.
  3. Show chat as a full-screen conversation or embed it in your app. Keep one active chat view at a time.
  4. For signed-in customers, create an identity JWT on your server and pass it to the SDK. Call reset() on logout to start a new visitor session.

App keys are public identifiers. Identity signing secrets and notification provider keys stay on your server or in Sonny's protected settings.

Push notifications

Your app owns notification permission and token acquisition. The SDK accepts an APNs token on iOS or an FCM token on Android, and handles Sonny notification taps. Delivery needs credentials for your own app: an APNs signing key and Apple team/key IDs, or an FCM service account for your Firebase project. The Sonny agent app's credentials belong to a separate app. Push delivery remains under validation during this preview.

  1. Upload your app's provider credentials in Mobile apps. For APNs, match the sandbox or production environment to your build.
  2. Open the app, allow notifications and pass its token to the SDK. Refresh the settings device list and select your test device by its registration time.
  3. Background the app and select Send test push. Check the device for receipt. The settings status shows provider acceptance or a safe error code; acceptance alone does not confirm arrival.
  4. For conversation testing, send an agent or AI reply while the visitor is disconnected. A reply notification opens that conversation when your app forwards the tap to handlePush. The generic test notification does not open a conversation.

Report an issue or contribute

Open an issue in the repository for the SDK you use. Include its version or commit, your OS and framework versions, and a small reproduction. Each repository accepts pull requests and includes contribution and security-reporting guidance. Keep customer data, identity JWTs, device tokens and private keys out of public issues.

Related docs