Gå til indhold

Mobil-SDK'er

Mobil-SDK’erne svarer til webwidgetten, bare til dine egne apps: dine kunder får support i appen med fuld samtalehistorik og pushnotifikationer, og dine agenter ser samtalerne i den samme indbakke. De er ikke agentapps til dit team; de er en separat produktlinje.

Platform Sprog og runtime Distribution Status
iOS Swift 5.9+, iOS 15+ Swift Package Manager, CocoaPods under udvikling
Android Kotlin 1.9+, Android 8.0 (API 26)+ Maven Central under udvikling
React Native bygger på de native SDK’er npm planlagt (beta)
Flutter bygger på de native SDK’er pub.dev planlagt (beta)

De native SDK’er er de autoritative; wrapperne udgives efter dem. Apps til ure eller tv og SDK’er til computere er uden for omfanget; brug webwidgetten på computeren.

Tekstbeskeder, vedhæftninger, talebeskeder, billeder og video, anonyme og identificerede sessioner, temaer, egen avatar og eget brand, 40 sprog, AI-concierge, samtalehistorik, mærkater for ulæste, pushnotifikationer, dybe links, klik for at ringe via telefonens opkaldsapp, kø offline med synkronisering i baggrunden, biometrisk oplåsning af chatten, understøttelse af VoiceOver og TalkBack, mørk tilstand. Mål for kompileret størrelse: højst 5 MB pr. platform.

WebRTC-opkald i appen og skærmdeling fra kunden kommer i en senere udgivelse. Cobrowse virker kun på web: mobile styresystemer tillader ikke, at en tredjeparts-SDK observerer eller styrer skærmen.

Initialisér én gang, tidligt i appens livscyklus:

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

Identificér brugeren, når vedkommende logger ind, og log ud, når vedkommende gør det:

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

Vis brugerfladen:

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

Callbacks: rolChatDidOpen, rolChatDidClose, rolChatDidReceiveMessage(_:), rolChatDidFailToSend(_:). Det offentlige API er sikkert at kalde fra hovedtråden på iOS og fra baggrundstråde på Android; forbindelserne afbrydes, når appen går i baggrunden, og genoptages, når den kommer i forgrunden.

  • Anonym: et sessions-id for enheden, gemt i nøgleringen eller i krypterede præferencer, overlever appopdateringer og er knyttet til enheden, ikke brugeren. Det slettes efter 90 dages inaktivitet.
  • Identificeret: efter identify opgraderes sessionen og flettes med den anonyme historik på samme enhed, når det er entydigt. Identitetsopløsning på tværs af kanaler følger identitetsgrafens regler og samtykke.
  • Betroet identifikation: din backend signerer et token med brugerens claims; SDK’en sender det videre, og RolChat verificerer signaturen, før sessionen opgraderes. Usigneret identify virker, men giver lavere tillid.

Den offentlige API-nøgle i appen er sikker af design: den er afgrænset til webstedet og har en hastighedsgrænse.

Platform Transport Du leverer
iOS APNs En APNs-godkendelsesnøgle i RolChat-dashboardet
Android FCM JSON-filen til FCM-tjenestekontoen
RolChat.shared.setPushToken(deviceToken, type: .apns)
if RolChat.shared.handleNotification(userInfo) { return } // consumed: a chat message

Notifikationsteksten lokaliseres på serveren til brugerens sprog. Udvidede notifikationer understøtter avatar, svar direkte fra notifikationen og markering som læst. SDK’en beder aldrig selv om tilladelse til push; kald requestPushPermission(), når det passer ind i din onboarding. Fravalg sker med setPushEnabled(false) eller i styresystemets indstillinger; begge registreres.

Streng semantisk versionering. To hovedversioner understøttes ad gangen med et år til migrering efter en ny hovedversion. Mindre udgivelser kommer månedligt; sikkerhedsrettelser udgives med det samme; hovedversioner annonceres tre måneder i forvejen. En udfaset eller ikke-understøttet SDK logger en advarsel ved opstart, og dashboardet viser den under Integrationer.

Ingen sporing ud over det, du slår til, samtykkedialoger bruger platformens native mønstre, og anmodninger fra registrerede efter GDPR, CCPA og LGPD dækker SDK-sessioner som enhver anden kanal. Vedhæftninger komprimeres på enheden, uploades til signerede URL’er og virusscannes, før agenterne ser dem.