Mobil-SDK:er
Mobil-SDK:erna är webbwidgetens motsvarighet för dina egna appar: dina kunder får support i appen med fullständig konversationshistorik och push-notiser, och dina agenter ser de konversationerna i samma inkorg. De är inte agentappar för ditt team; sådana är en separat produktlinje.
Plattformar
Section titled “Plattformar”| Plattform | Språk och körmiljö | Distribution | Status |
|---|---|---|---|
| iOS | Swift 5.9+, iOS 15+ | Swift Package Manager, CocoaPods | under utveckling |
| Android | Kotlin 1.9+, Android 8.0 (API 26)+ | Maven Central | under utveckling |
| React Native | omsluter de inbyggda SDK:erna | npm | planerad (beta) |
| Flutter | omsluter de inbyggda SDK:erna | pub.dev | planerad (beta) |
De inbyggda SDK:erna är auktoritativa; omslagen släpps efter dem. Appar för klocka eller tv och SDK:er för dator ingår inte; använd webbwidgeten på datorn.
Vad SDK:n innehåller
Section titled “Vad SDK:n innehåller”Textmeddelanden, bilagor, röstmeddelanden, bilder och video, anonyma och identifierade sessioner, teman, egen avatar och eget varumärke, 40 språk, AI-conciergen, konversationshistorik, märken för olästa, push-notiser, djuplänkar, klicka för att ringa via telefonens uppringare, köning offline med synkronisering i bakgrunden, biometrisk upplåsning av chatten, stöd för VoiceOver och TalkBack, mörkt läge. Mål för kompilerad storlek: högst 5 MB per plattform.
WebRTC-samtal i appen och skärmdelning från kunden kommer i en senare version. Samsurfning fungerar bara på webben: mobila operativsystem tillåter inte att en SDK från tredje part observerar eller styr skärmen.
SDK:ns gränssnitt
Section titled “SDK:ns gränssnitt”Initiera en gång, tidigt i appens livscykel:
// 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)Identifiera användaren efter att den har loggat in, och logga ut när den 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 historyVisa gränssnittet:
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 publika API:et är säkert att anropa från huvudtråden på iOS och från bakgrundstrådar på Android; anslutningarna bryts när appen går till bakgrunden och återupptas när den kommer i förgrunden.
Sessioner och identitet
Section titled “Sessioner och identitet”- Anonym: ett sessions-ID för enheten som lagras i nyckelringen eller i krypterade inställningar överlever appuppdateringar och är knutet till enheten, inte till användaren. Det rensas efter 90 dagars inaktivitet.
- Identifierad: efter
identifyuppgraderas sessionen och slås ihop med den anonyma historiken på samma enhet när det är entydigt. Identitetsmatchning mellan kanaler följer identitetsgrafens regler och samtycket. - Betrodd identifiering: din backend signerar en token med användarens claims; SDK:n skickar den vidare och RolChat verifierar signaturen innan sessionen uppgraderas. Osignerad
identifyfungerar men har lägre tillit.
Den publika API-nyckeln i appen är säker genom sin utformning: den är avgränsad till webbplatsen och hastighetsbegränsad.
Push-notiser
Section titled “Push-notiser”| Plattform | Transport | Du tillhandahåller |
|---|---|---|
| iOS | APNs | En autentiseringsnyckel för APNs i RolChats instrumentpanel |
| Android | FCM | JSON-filen för FCM-tjänstkontot |
RolChat.shared.setPushToken(deviceToken, type: .apns)if RolChat.shared.handleNotification(userInfo) { return } // consumed: a chat messageNotistexten lokaliseras på servern till användarens språk. Utökade notiser stöder avatar, svar direkt från notisen och markering som läst. SDK:n ber aldrig om tillstånd för push på egen hand; anropa requestPushPermission() när det passar din introduktion. Att avstå sker med setPushEnabled(false) eller i operativsystemets inställningar; båda registreras.
Versionshantering och support
Section titled “Versionshantering och support”Strikt semantisk versionshantering. Två huvudversioner stöds samtidigt, med ett år för migrering efter en ny huvudversion. Mindre versioner släpps varje månad; säkerhetsrättningar levereras omedelbart; nya huvudversioner meddelas tre månader i förväg. En utfasad SDK eller en SDK som inte längre stöds loggar en varning vid start och instrumentpanelen visar det under Integrationer.
Integritet
Section titled “Integritet”Ingen spårning utöver det du aktiverar, samtyckesytor använder plattformens inbyggda mönster, och förfrågningar från registrerade enligt GDPR, CCPA och LGPD omfattar SDK-sessioner precis som alla andra kanaler. Bilagor komprimeras på enheten, laddas upp till signerade URL:er och virusskannas innan agenterna ser dem.