Mobil SDK-k
A mobil SDK-k a webes widget megfelelői a saját alkalmazásaidhoz: az ügyfeleid alkalmazáson belüli támogatást kapnak a teljes beszélgetési előzményekkel és push-értesítésekkel, az ügynökeid pedig ugyanabban a Beérkezett üzenetek nézetben látják ezeket a beszélgetéseket. Ezek nem a csapatodnak szóló ügynöki alkalmazások; azok külön termékvonalat alkotnak.
Platformok
Szekció neve “Platformok”| Platform | Nyelv és futtatókörnyezet | Terjesztés | Állapot |
|---|---|---|---|
| iOS | Swift 5.9+, iOS 15+ | Swift Package Manager, CocoaPods | fejlesztés alatt |
| Android | Kotlin 1.9+, Android 8.0 (API 26)+ | Maven Central | fejlesztés alatt |
| React Native | a natív SDK-kat burkolja | npm | tervezett (béta) |
| Flutter | a natív SDK-kat burkolja | pub.dev | tervezett (béta) |
A natív SDK-k a mérvadók; a burkolók utánuk jelennek meg. Az óra- vagy TV-alkalmazások és az asztali SDK-k nem tartoznak a hatókörbe; asztali környezethez a webes widgetet használd.
Mit tartalmaz az SDK
Szekció neve “Mit tartalmaz az SDK”Szöveges üzenetküldés, mellékletek, hangüzenetek, képek és videók, névtelen és azonosított munkamenetek, témák, egyéni avatar és márkajelzés, 40 nyelv, az AI concierge, beszélgetési előzmények, olvasatlan-jelvények, push-értesítések, mélylinkek, hívás kattintással a telefon tárcsázóján keresztül, offline sorba állítás háttérszinkronizálással, biometrikus feloldás a chathez, VoiceOver- és TalkBack-támogatás, sötét mód. Célzott lefordított méret: platformonként legfeljebb 5 MB.
Az alkalmazáson belüli WebRTC-hívások és az ügyfél általi képernyőmegosztás egy későbbi kiadásban érkeznek. A közös böngészés csak weben érhető el: a mobil operációs rendszerek nem engedik, hogy egy harmadik féltől származó SDK megfigyelje vagy irányítsa a képernyőt.
Az SDK felülete
Szekció neve “Az SDK felülete”Inicializáld egyszer, az alkalmazás életciklusának elején:
// 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)Azonosítsd a felhasználót a bejelentkezése után, és jelentkeztesd ki, amikor kijelentkezik:
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 historyA felület megjelenítése:
RolChat.shared.openChat() // modalRolChat.shared.openChat(conversationId: id) // a specific conversationRolChat.shared.openChatInline(view) // inside your own layoutRolChat.shared.close()Visszahívások: rolChatDidOpen, rolChatDidClose, rolChatDidReceiveMessage(_:), rolChatDidFailToSend(_:). A nyilvános API iOS-en a fő szálon, Androidon háttérszálon is biztonságosan használható; a kapcsolatok megszakadnak, amikor az alkalmazás a háttérbe kerül, és helyreállnak, amikor előtérbe kerül.
Munkamenetek és identitás
Szekció neve “Munkamenetek és identitás”- Névtelen: a kulcskarikában vagy titkosított beállításokban tárolt eszközmunkamenet-azonosító túléli az alkalmazásfrissítéseket, és az eszközhöz, nem a felhasználóhoz kötődik. 90 nap inaktivitás után törlődik.
- Azonosított: az
identifyután a munkamenet előléptetésre kerül, és egyértelmű esetben összevonódik az ugyanazon az eszközön lévő névtelen előzményekkel. A csatornák közötti identitásfeloldás az identitásgráf szabályait és a hozzájárulást követi. - Megbízható azonosítás: a backended aláír egy tokent a felhasználó adataival; az SDK továbbítja, a RolChat pedig a munkamenet előléptetése előtt ellenőrzi az aláírást. Az aláírás nélküli
identifyis működik, de kisebb megbízhatóságú.
Az alkalmazásban lévő nyilvános API-kulcs a tervezésből adódóan biztonságos: a webhelyre korlátozott, és sebességkorlát vonatkozik rá.
Push-értesítések
Szekció neve “Push-értesítések”| Platform | Átvitel | Amit biztosítanod kell |
|---|---|---|
| iOS | APNs | Egy APNs hitelesítési kulcs a RolChat irányítópultján |
| Android | FCM | Az FCM szolgáltatásfiók JSON-fájlja |
RolChat.shared.setPushToken(deviceToken, type: .apns)if RolChat.shared.handleNotification(userInfo) { return } // consumed: a chat messageAz értesítések szövegét szerveroldalon lokalizáljuk a felhasználó nyelvére. A gazdag értesítések támogatják az avatart, a válaszadást közvetlenül az értesítésből és az olvasottnak jelölést. Az SDK soha nem kér magától push-engedélyt; hívd meg a requestPushPermission() függvényt, amikor az a bevezetési folyamatodba illik. A leiratkozás a setPushEnabled(false) hívással vagy az operációs rendszer beállításaiban történik; mindkettőt rögzítjük.
Verziókezelés és támogatás
Szekció neve “Verziókezelés és támogatás”Szigorú szemantikus verziókezelés. Egyszerre két főverziót támogatunk, egy főverzió megjelenése után egy év áll rendelkezésre a migrációhoz. Az alverziók havonta jelennek meg; a biztonsági javítások azonnal; a főverziókat három hónappal előre bejelentjük. Az elavult vagy nem támogatott SDK induláskor figyelmeztetést naplóz, és az irányítópult az Integrációk alatt jelzi.
Adatvédelem
Szekció neve “Adatvédelem”Nincs követés azon túl, amit bekapcsolsz, a hozzájárulási felületek a platform natív mintáit használják, és a GDPR, CCPA és LGPD szerinti érintetti kérelmek az SDK-munkamenetekre is kiterjednek, akárcsak bármely más csatornára. A mellékleteket az eszközön tömörítjük, aláírt URL-ekre töltjük fel, és vírusellenőrzésen esnek át, mielőtt az ügynökök látnák őket.