Preskoči na sadržaj

Mobilni SDK-ovi

Mobilni SDK-ovi pandan su web widgetu za vaše vlastite aplikacije: vaši korisnici dobivaju podršku unutar aplikacije s potpunom poviješću razgovora i push obavijestima, a vaši agenti vide te razgovore u istom ulaznom pretincu. To nisu aplikacije za agente vašeg tima; one su zasebna linija proizvoda.

Platforma Jezik i okruženje Distribucija Status
iOS Swift 5.9+, iOS 15+ Swift Package Manager, CocoaPods u razvoju
Android Kotlin 1.9+, Android 8.0 (API 26)+ Maven Central u razvoju
React Native omotač oko izvornih SDK-ova npm planirano (beta)
Flutter omotač oko izvornih SDK-ova pub.dev planirano (beta)

Izvorni SDK-ovi su mjerodavni; omotači izlaze nakon njih. Aplikacije za satove ili televizore i SDK-ovi za računala nisu u planu; na računalima koristite web widget.

Tekstualne poruke, privitke, glasovne poruke, slike i videozapise, anonimne i identificirane sesije, teme, vlastiti avatar i brendiranje, 40 jezika, AI concierge, povijest razgovora, značke nepročitanih, push obavijesti, duboke poveznice, poziv jednim dodirom putem telefonskog brojčanika, red čekanja izvan mreže sa sinkronizacijom u pozadini, biometrijsko otključavanje chata, podršku za VoiceOver i TalkBack, tamni način. Ciljana veličina nakon kompilacije: 5 MB ili manje po platformi.

WebRTC pozivi unutar aplikacije i dijeljenje zaslona od strane korisnika dolaze u kasnijem izdanju. Zajedničko pregledavanje radi samo na webu: mobilni operacijski sustavi ne dopuštaju SDK-u treće strane da promatra zaslon ili upravlja njime.

Inicijalizirajte jednom, rano u životnom ciklusu aplikacije:

// iOS
let 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)
// Android
val config = RolChatConfig.Builder()
.siteId("site_abc123")
.apiKey("pk_live_…")
.region(Region.EU)
.theme(RolChatTheme(primaryColor = Color.Blue))
.build()
RolChat.initialize(context, config)

Identificirajte korisnika nakon prijave i odjavite ga kada se odjavi:

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 history

Prikaz sučelja:

RolChat.shared.openChat() // modal
RolChat.shared.openChat(conversationId: id) // a specific conversation
RolChat.shared.openChatInline(view) // inside your own layout
RolChat.shared.close()

Povratni pozivi: rolChatDidOpen, rolChatDidClose, rolChatDidReceiveMessage(_:), rolChatDidFailToSend(_:). Javni API siguran je za glavnu nit na iOS-u i za pozadinske niti na Androidu; veze se prekidaju kada aplikacija ode u pozadinu i nastavljaju kada se vrati u prvi plan.

  • Anonimna: ID sesije uređaja pohranjen u privjesku ključeva ili šifriranim postavkama preživljava ažuriranja aplikacije i vezan je uz uređaj, a ne uz korisnika. Briše se nakon 90 dana neaktivnosti.
  • Identificirana: nakon identify sesija se podiže i spaja s anonimnom poviješću na istom uređaju kada je to jednoznačno. Razrješavanje identiteta među kanalima slijedi pravila grafa identiteta i privolu.
  • Pouzdana identifikacija: vaš pozadinski sustav potpisuje token s podacima o korisniku; SDK ga prosljeđuje, a RolChat provjerava potpis prije podizanja sesije. Nepotpisani identify radi, ali uz nižu razinu povjerenja.

Javni API ključ u aplikaciji siguran je po dizajnu: ograničen je na stranicu i podliježe ograničenjima zahtjeva.

Platforma Prijenos Što vi dostavljate
iOS APNs APNs ključ za autentifikaciju na nadzornoj ploči RolChata
Android FCM JSON računa usluge FCM
RolChat.shared.setPushToken(deviceToken, type: .apns)
if RolChat.shared.handleNotification(userInfo) { return } // consumed: a chat message

Tekst obavijesti lokalizira se na poslužitelju na jezik korisnika. Bogate obavijesti podržavaju avatar, odgovor iz obavijesti i označavanje kao pročitano. SDK nikada sam ne traži dopuštenje za push; pozovite requestPushPermission() kada to odgovara vašem procesu uvođenja. Odjava je setPushEnabled(false) ili postavke sustava; oboje se bilježi.

Strogo semantičko verzioniranje. Istodobno su podržane dvije glavne verzije, s godinom dana za migraciju nakon glavnog izdanja. Manja izdanja izlaze mjesečno; sigurnosni ispravci odmah; glavna izdanja najavljuju se tri mjeseca unaprijed. Zastarjeli ili nepodržani SDK pri pokretanju zapisuje upozorenje, a nadzorna ploča ga prikazuje pod Integracijama.

Nema praćenja izvan onoga što uključite, dijalozi privole koriste izvorne obrasce platforme, a zahtjevi ispitanika prema GDPR-u, CCPA-u i LGPD-u obuhvaćaju SDK sesije kao i svaki drugi kanal. Privici se sažimaju na uređaju, prenose na potpisane URL-ove i provjeravaju antivirusnim programom prije nego što ih agenti vide.