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
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