Skip to content
Sendora Cloud
Create account
2026-06-01 · SDK

Mobile Contact Widget — iOS / Android / RN parity with the web widget (Wave 66)

  • New worker route `https://go.sendoracloud.com/embed/contact?widgetId=…` ships ~6 KB self-contained HTML contact form. Posts to `/api/v1/widgets/:id/submit` (same backend as the web `widget.js`). Bot-check + rate-limit run server-side.
  • iOS — `SendoraCloud.support?.presentContactWidget(widgetId:, from:, theme:, prefillName:, prefillEmail:, completion:)`. WKWebView in a UIViewController .formSheet. `sendora://close*` intercept dismisses + fires `SendoraContactResult { ticketId, portalUrl, submitted }`.
  • Android — `SendoraCloud.support.presentContactWidget(activity, widgetId, …, onResult)`. WebView in `SendoraContactWidgetActivity` (programmatic, no XML). Same close-URL contract.
  • React Native — new subpath import `@sendoracloud/sdk-react-native/contact-widget` ships `<ContactWidget />` + `useContactWidget()`. `react-native-webview` is an **optional** peer dep — Metro only resolves it when the subpath is used.
  • Updating contact UI = redeploy worker once. Zero SDK release. Same shell will host future surfaces: `/embed/chat`, `/embed/kb`, `/embed/portal/:token`, `/embed/auth`.
  • `@sendoracloud/sdk-react-native@1.2.0` LIVE on npm. iOS + Android tag `sdk-{ios,android}-v…` carry-over for SwiftPM + JitPack publishing.