Hoppa till innehåll

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.

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.

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.

Initiera en gång, tidigt i appens livscykel:

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

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 history

Visa gränssnittet:

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 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.

  • 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 identify uppgraderas 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 identify fungerar 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.

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 message

Notistexten 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.

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.

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.