SDK-uri mobile
SDK-urile mobile sunt echivalentul widgetului web pentru propriile tale aplicații: clienții tăi primesc suport în aplicație, cu istoricul complet al conversațiilor și notificări push, iar agenții tăi văd acele conversații în aceeași căsuță de mesaje. Nu sunt aplicații pentru agenții din echipa ta; acelea sunt o linie de produse separată.
Platforme
Secțiune intitulată „Platforme”| Platformă | Limbaj și mediu de rulare | Distribuție | Stadiu |
|---|---|---|---|
| iOS | Swift 5.9+, iOS 15+ | Swift Package Manager, CocoaPods | în dezvoltare |
| Android | Kotlin 1.9+, Android 8.0 (API 26)+ | Maven Central | în dezvoltare |
| React Native | încapsulează SDK-urile native | npm | planificat (beta) |
| Flutter | încapsulează SDK-urile native | pub.dev | planificat (beta) |
SDK-urile native sunt cele de referință; învelișurile apar după ele. Aplicațiile pentru ceasuri sau televizoare și SDK-urile pentru desktop nu sunt acoperite; pe desktop folosește widgetul web.
Ce include SDK-ul
Secțiune intitulată „Ce include SDK-ul”Mesaje text, atașamente, mesaje vocale, imagini și video, sesiuni anonime și identificate, teme, avatar și branding personalizate, 40 de limbi, conciergele AI, istoricul conversațiilor, insigne pentru mesaje necitite, notificări push, deep links, apel cu un clic prin aplicația de telefon, coadă offline cu sincronizare în fundal, deblocare biometrică pentru chat, suport pentru VoiceOver și TalkBack, mod întunecat. Dimensiune compilată vizată: cel mult 5 MB per platformă.
Apelurile WebRTC în aplicație și partajarea ecranului de către client vor veni într-o versiune ulterioară. Cobrowsing-ul este disponibil doar pe web: sistemele de operare mobile nu permit unui SDK terț să observe sau să controleze ecranul.
Interfața SDK
Secțiune intitulată „Interfața SDK”Inițializează o singură dată, devreme în ciclul de viață al aplicației:
// 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)Identifică utilizatorul după autentificare și deconectează-l când se deconectează:
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 historyAfișează interfața:
RolChat.shared.openChat() // modalRolChat.shared.openChat(conversationId: id) // a specific conversationRolChat.shared.openChatInline(view) // inside your own layoutRolChat.shared.close()Callback-uri: rolChatDidOpen, rolChatDidClose, rolChatDidReceiveMessage(_:), rolChatDidFailToSend(_:). API-ul public poate fi apelat în siguranță din firul principal pe iOS și dintr-un fir de fundal pe Android; conexiunile se întrerup când aplicația trece în fundal și se reiau când revine în prim-plan.
Sesiuni și identitate
Secțiune intitulată „Sesiuni și identitate”- Anonimă: un ID de sesiune al dispozitivului, stocat în keychain sau în preferințe criptate, rezistă la actualizările aplicației și este legat de dispozitiv, nu de utilizator. Este șters după 90 de zile de inactivitate.
- Identificată: după
identify, sesiunea este promovată și unificată cu istoricul anonim de pe același dispozitiv, atunci când nu există ambiguitate. Rezolvarea identității între canale respectă regulile grafului de identitate și consimțământul. - Identificare de încredere: backendul tău semnează un token cu datele utilizatorului; SDK-ul îl transmite, iar RolChat verifică semnătura înainte de a promova sesiunea. Un
identifynesemnat funcționează, dar cu un nivel de încredere mai scăzut.
Cheia API publică din aplicație este sigură prin design: este limitată la site și are limite de rată.
Notificări push
Secțiune intitulată „Notificări push”| Platformă | Transport | Ce furnizezi |
|---|---|---|
| iOS | APNs | O cheie de autentificare APNs în panoul de control RolChat |
| Android | FCM | Fișierul JSON al contului de serviciu FCM |
RolChat.shared.setPushToken(deviceToken, type: .apns)if RolChat.shared.handleNotification(userInfo) { return } // consumed: a chat messageTextul notificărilor este localizat pe server în limba utilizatorului. Notificările îmbogățite acceptă avatar, răspuns din notificare și marcare ca citit. SDK-ul nu cere niciodată singur permisiunea pentru notificări push; apelează requestPushPermission() când se potrivește cu fluxul tău de onboarding. Renunțarea se face prin setPushEnabled(false) sau din setările sistemului; ambele sunt înregistrate.
Versiuni și suport
Secțiune intitulată „Versiuni și suport”Versionare semantică strictă. Sunt acceptate simultan două versiuni majore, cu un an pentru migrare după o versiune majoră. Versiunile minore apar lunar; remedierile de securitate se publică imediat; versiunile majore sunt anunțate cu trei luni înainte. Un SDK depreciat sau neacceptat afișează un avertisment la pornire, iar panoul de control îl semnalează în Integrări.
Confidențialitate
Secțiune intitulată „Confidențialitate”Nicio urmărire dincolo de ce activezi tu, ecranele de consimțământ folosesc modelele native ale platformei, iar cererile persoanelor vizate conform GDPR, CCPA și LGPD acoperă sesiunile SDK ca pe orice alt canal. Atașamentele sunt comprimate pe dispozitiv, încărcate prin URL-uri semnate și scanate antivirus înainte ca agenții să le vadă.