Mga mobile SDK
Ang mga mobile SDK ang katumbas ng web widget para sa sarili mong mga app: nakakakuha ang mga customer mo ng in-app na suporta na may buong kasaysayan ng usapan at mga push notification, at nakikita ng mga agent mo ang mga usapang iyon sa parehong Inbox. Hindi ito mga agent app para sa team mo; hiwalay na linya ng produkto ang mga iyon.
Mga platform
Seksyong may pamagat na “Mga platform”| Platform | Wika at runtime | Distribusyon | Status |
|---|---|---|---|
| iOS | Swift 5.9+, iOS 15+ | Swift Package Manager, CocoaPods | dine-develop |
| Android | Kotlin 1.9+, Android 8.0 (API 26)+ | Maven Central | dine-develop |
| React Native | binabalot ang mga native SDK | npm | nakaplano (beta) |
| Flutter | binabalot ang mga native SDK | pub.dev | nakaplano (beta) |
Ang mga native SDK ang awtoritatibo; inilalabas ang mga wrapper pagkatapos ng mga ito. Wala sa saklaw ang mga watch o TV app at mga desktop SDK; gamitin ang web widget para sa desktop.
Ano ang kasama sa SDK
Seksyong may pamagat na “Ano ang kasama sa SDK”Text messaging, mga attachment, mga voice message, mga larawan at video, mga anonymous at kilalang session, theming, custom na avatar at branding, 40 wika, ang AI concierge, kasaysayan ng usapan, mga badge ng hindi pa nababasa, mga push notification, mga deep link, click-to-call sa pamamagitan ng dialler ng telepono, offline queueing na may background sync, biometric unlock para sa chat, suporta sa VoiceOver at TalkBack, dark mode. Target na compiled size: 5 MB o mas mababa kada platform.
Darating sa susunod na release ang mga in-app na WebRTC call at screen sharing mula sa customer. Web lang ang cobrowse: hindi pinapayagan ng mga mobile operating system ang third-party na SDK na obserbahan o kontrolin ang screen.
Surface ng SDK
Seksyong may pamagat na “Surface ng SDK”I-initialise nang isang beses, maaga sa lifecycle ng app:
// iOSlet config = RolChatConfig( siteId: "site_abc123", apiKey: "pk_live_…", // public key - safe to ship in the app region: .eu, // eu / us theme: RolChatTheme(primaryColor: .blue))RolChat.shared.initialize(config: config)// Androidval config = RolChatConfig.Builder() .siteId("site_abc123") .apiKey("pk_live_…") .region(Region.EU) .theme(RolChatTheme(primaryColor = Color.Blue)) .build()RolChat.initialize(context, config)Kilalanin ang user pagkatapos niyang mag-sign in, at i-sign out siya kapag nag-sign out siya:
RolChat.shared.identify(userId: "user_12345", email: "alice@example.com", name: "Alice", metadata: ["tier": "gold"])RolChat.shared.logout() // on host-app sign-out, or the next user sees this historyIpakita ang UI:
RolChat.shared.openChat() // modalRolChat.shared.openChat(conversationId: id) // a specific conversationRolChat.shared.openChatInline(view) // inside your own layoutRolChat.shared.close()Mga callback: rolChatDidOpen, rolChatDidClose, rolChatDidReceiveMessage(_:), rolChatDidFailToSend(_:). Main-thread safe ang pampublikong API sa iOS at background-thread safe sa Android; napuputol ang mga koneksyon kapag napunta sa background ang app at bumabalik kapag nasa foreground na ulit.
Mga session at pagkakakilanlan
Seksyong may pamagat na “Mga session at pagkakakilanlan”- Anonymous: nananatili sa mga update ng app ang device session ID na naka-imbak sa keychain o sa encrypted preferences, at nakakabit ito sa device, hindi sa user. Pini-purge ito pagkatapos ng 90 araw na walang aktibidad.
- Kilala: pagkatapos ng
identify, ipino-promote ang session at pinagsasama sa anonymous na kasaysayan sa parehong device kapag walang kalabuan. Sinusunod ng cross-channel na pagtukoy ng pagkakakilanlan ang mga rule ng identity graph at ang pahintulot. - Pinagkakatiwalaang pagkilala: nagsa-sign ang backend mo ng token na may mga claim ng user; ipinapasa ito ng SDK at bine-verify ng RolChat ang signature bago i-promote ang session. Gumagana ang hindi naka-sign na
identifypero mas mababa ang tiwala.
Ligtas ayon sa disenyo ang pampublikong API key sa app: naka-scope ito sa site at may rate limit.
Mga push notification
Seksyong may pamagat na “Mga push notification”| Platform | Transport | Ibibigay mo |
|---|---|---|
| iOS | APNs | APNs authentication key sa dashboard ng RolChat |
| Android | FCM | Ang JSON ng FCM service account |
RolChat.shared.setPushToken(deviceToken, type: .apns)if RolChat.shared.handleNotification(userInfo) { return } // consumed: a chat messageIsinasalin sa server ang teksto ng notification sa locale ng user. Sinusuportahan ng mga rich notification ang avatar, pagsagot mula sa notification at pagmarka bilang nabasa. Hindi kailanman kusang humihingi ang SDK ng pahintulot para sa push; tawagin ang requestPushPermission() kapag bagay ito sa onboarding mo. Ang pag-opt out ay sa setPushEnabled(false) o sa mga setting ng OS; pareho itong nire-record.
Versioning at suporta
Seksyong may pamagat na “Versioning at suporta”Mahigpit na semantic versioning. Dalawang major version ang sinusuportahan nang sabay, na may isang taon para lumipat pagkatapos ng major release. Buwan-buwan ang mga minor release; agad inilalabas ang mga security fix; ina-anunsyo ang mga major release nang tatlong buwan nang maaga. Nagla-log ng babala sa pag-start ang deprecated o hindi na suportadong SDK at ipinapakita ito ng dashboard sa ilalim ng Mga Integrasyon.
Walang tracking lampas sa ini-enable mo, ginagamit ng mga consent surface ang mga native na pattern ng platform, at saklaw ng mga data-subject request sa ilalim ng GDPR, CCPA at LGPD ang mga SDK session gaya ng anumang ibang channel. Kino-compress sa device ang mga attachment, ina-upload sa mga signed URL at sini-scan para sa virus bago makita ng mga agent.