Mobile SDK

A WebView SDK that is actually the messenger

Copy the React Native, Swift, or Kotlin wrapper. Point it at /w/{key}?sdk=1. List cove-mobile://your.bundle.id on Widget. Persist a visitor UUID so the thread resumes.

Install

Wrappers live in the repo at packages/mobile-sdk. Copy them. This is not a second native chat list — it is the same messenger.

Embed URL

https://coveinbox.co/w/YOUR_PUBLIC_KEY?sdk=1&vid=VISITOR_UUID&origin=cove-mobile%3A%2F%2Fcom.acme.app

Copy into the page, then set the look in Widget

React Native

import { CoveInbox, randomCoveVisitorId } from "./cove-inbox"; // copy packages/mobile-sdk/src/index.js

export function SupportScreen() {
  const visitorId = randomCoveVisitorId(); // persist this
  return (
    <CoveInbox
      websiteKey="YOUR_PUBLIC_KEY"
      visitorId={visitorId}
      origin="cove-mobile://com.acme.app"
    />
  );
}

Copy into the page, then set the look in Widget

iOS

CoveInboxView(
  websiteKey: "YOUR_PUBLIC_KEY",
  visitorId: persistedUUID,
  origin: "cove-mobile://com.acme.app"
)

Copy into the page, then set the look in Widget

Android

bindCoveInbox(
  webView,
  websiteKey = "YOUR_PUBLIC_KEY",
  visitorId = persistedUuid,
  origin = "cove-mobile://com.acme.app",
)

Copy into the page, then set the look in Widget

FAQ

Frequently asked questions

WebView SDK, origin lock, visitor UUID. Not a second product.

No. It is the official WebView around the same iframe messenger. That is the shippable path — appearance and inbox stay in Cove.

Pass a UUID as vid. Deep-link the website with ?cove_visitor= that same id so web and app stay one contact.

Blog

Same messenger as the website

Add the origin. Persist the UUID. Load the URL.

Fourteen-day trial. Appearance still lives in Widget.