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.
Platforme
Sektion kaldt “Platforme”| 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.
Hvad SDK’en indeholder
Sektion kaldt “Hvad SDK’en indeholder”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.
SDK’ens overflade
Sektion kaldt “SDK’ens overflade”Initialisér én gang, tidligt i appens livscyklus:
// 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é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 historyVis brugerfladen:
RolChat.shared.openChat() // modalRolChat.shared.openChat(conversationId: id) // a specific conversationRolChat.shared.openChatInline(view) // inside your own layoutRolChat.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.
Sessioner og identitet
Sektion kaldt “Sessioner og identitet”- 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
identifyopgraderes 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
identifyvirker, 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.
Pushnotifikationer
Sektion kaldt “Pushnotifikationer”| 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 messageNotifikationsteksten 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.
Versionering og support
Sektion kaldt “Versionering og support”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.
Privatliv
Sektion kaldt “Privatliv”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.