Skip to content

Mobile apps

Giov's native chat SDKs for React Native, Flutter, Android and iOS, what they share, and how to get access before their public release.

On this page

The Giov mobile SDKs put the same conversation your website visitors have into a native screen in your app. Messages land in the same shared inbox, and GiovBot and your team answer them exactly as they do on the web.

Note

The SDKs are being prepared for public release. They aren't installable from npm, pub.dev, Maven Central or Swift Package Manager yet. To try one before then, contact us for early access.

Choose an SDK

SDKUse it forVersionRequirements
React NativeReact Native and Expo apps on iOS and Android0.2React Native 0.72 or newer
FlutterFlutter apps on iOS and Android0.1Flutter 3.22 or newer
AndroidNative Android apps built with Jetpack Compose0.1Android 7.0 (API 24) or newer, Kotlin 2.1 or newer
iOSNative iOS apps built with Swift0.1iOS 16 or newer, Xcode 16 or newer

Each SDK comes in two parts: a ready-made chat screen, and the client underneath it for apps that draw their own interface.

What every SDK does

  • Your dashboard settings. Colour, theme, greeting, pre-chat fields, GiovBot's name and avatar, attachment rules and branding come from Settings → Chat widget. Your app needs only your workspace ID.
  • Streaming replies. GiovBot's answers appear as it writes them, with the same formatting as the web widget.
  • Who's answering. The header shows GiovBot while it answers and the teammate's name and photo once a person takes over.
  • Verified identity. Signed-in users are linked to their contact with the same userId and userHash as on the web.
  • Offline-safe sending. Messages typed offline wait and go out in order once the connection is back, and each is stored only once.
  • Catch-up. After a dropped connection, or when the app returns to the foreground, the chat reconnects and fetches what it missed. A connection that fails is retried on its own.
  • Typing indicators, attachments with upload progress, and an unread count while the chat is closed.
  • Push notifications when your team or GiovBot replies while the chat is closed, sent with your own Apple and Firebase credentials.
  • Five interface languages: English, French, Spanish, Portuguese and German, following the device language.
  • Light, dark or automatic theme, with text on your brand colour kept readable.
  • Your privacy policy linked from the chat header, as in the web widget.
  • Accessibility: labelled controls and new replies read out by screen readers.

A conversation starts only when the visitor sends their first message or submits the pre-chat form, so opening the chat screen never creates an empty conversation.

What you can set up now

These dashboard settings are ready before the SDKs are public:

SettingWhereDocs
Identity secret for signed-in users. The SDKs take the same userId and userHash as the web widget.Settings → Chat widget → Visitor detailsIdentify visitors
Apple (APNs) key and Firebase service account for pushSettings → Chat widget → Push notificationsBelow
Colours, greeting, pre-chat fieldsSettings → Chat widgetCustomize the widget

Push credentials

Open Settings → Chat widget → Push notifications:

  • Apple (APNs) delivers to iPhone and iPad apps. In Apple Developer, create a key with Apple Push Notifications service enabled and download the .p8 file. Enter the Key ID, Team ID, Bundle ID and the Private key (.p8), then select Connect Apple.
  • Firebase (FCM) delivers to Android apps, and to iOS apps that use Firebase. In Firebase, open Project settings → Service accounts and select Generate new private key. Upload the Service account (.json) and select Connect Firebase.

Credentials are encrypted and never shown again. Show message text in notifications chooses between the reply text and "You have a new message". Send a test notification checks delivery to a device token your app registered.

Until then

Add the chat to your website with the web widget. Conversations from your website and, later, your apps share the same inbox.

Loading…