Мобилни SDK
Мобилните SDK се еквивалент на веб-виџетот за вашите сопствени апликации: вашите клиенти добиваат поддршка во апликацијата со целосна историја на разговорите и push-известувања, а вашите агенти ги гледаат тие разговори во истото сандаче. Тие не се апликации за агентите од вашиот тим; тоа е посебна линија производи.
Платформи
Дел „Платформи“| Платформа | Јазик и извршна средина | Дистрибуција | Статус |
|---|---|---|---|
| iOS | Swift 5.9+, iOS 15+ | Swift Package Manager, CocoaPods | во развој |
| Android | Kotlin 1.9+, Android 8.0 (API 26)+ | Maven Central | во развој |
| React Native | обвивка околу нативните SDK | npm | планирано (бета) |
| Flutter | обвивка околу нативните SDK | pub.dev | планирано (бета) |
Нативните SDK се меродавни; обвивките излегуваат по нив. Апликации за часовници или телевизори и SDK за десктоп се надвор од опсегот; за десктоп користете го веб-виџетот.
Што вклучува SDK
Дел „Што вклучува SDK“Текстуални пораки, прилози, гласовни пораки, слики и видео, анонимни и идентификувани сесии, теми, сопствен аватар и брендирање, 40 јазици, AI консиерж, историја на разговорите, ознаки за непрочитани, push-известувања, длабоки врски, повик со еден допир преку бирачот на телефонот, редица без врска со синхронизација во заднина, биометриско отклучување на чатот, поддршка за VoiceOver и TalkBack, темен режим. Целна големина по компајлирање: 5 MB или помалку по платформа.
WebRTC повиците во апликацијата и споделувањето екран од клиентот доаѓаат во подоцнежно издание. Заедничкото прелистување (cobrowse) е само за веб: мобилните оперативни системи не дозволуваат SDK од трета страна да го набљудува или контролира екранот.
Интерфејс на SDK
Дел „Интерфејс на SDK“Иницијализирајте еднаш, рано во животниот циклус на апликацијата:
// 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)Идентификувајте го корисникот откако ќе се најави и одјавете го кога ќе се одјави:
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Прикажете го интерфејсот:
RolChat.shared.openChat() // modalRolChat.shared.openChat(conversationId: id) // a specific conversationRolChat.shared.openChatInline(view) // inside your own layoutRolChat.shared.close()Повратни повици: rolChatDidOpen, rolChatDidClose, rolChatDidReceiveMessage(_:), rolChatDidFailToSend(_:). Јавниот API е безбеден за главната нишка на iOS и за нишките во заднина на Android; врските се прекинуваат кога апликацијата оди во заднина и продолжуваат кога ќе се врати во преден план.
Сесии и идентитет
Дел „Сесии и идентитет“- Анонимна: ID на сесијата на уредот зачуван во keychain или во шифрирани преференци ги преживува ажурирањата на апликацијата и е врзан за уредот, а не за корисникот. Се брише по 90 дена неактивност.
- Идентификувана: по
identify, сесијата се унапредува и се спојува со анонимната историја на истиот уред кога тоа е недвосмислено. Препознавањето идентитет меѓу каналите ги следи правилата на графот на идентитет и согласноста. - Доверлива идентификација: вашата заднина потпишува токен со податоците на корисникот; SDK го проследува и RolChat го проверува потписот пред да ја унапреди сесијата. Непотпишан
identifyработи, но со пониска доверба.
Јавниот API клуч во апликацијата е безбеден по дизајн: ограничен е на сајтот и има ограничување на барањата.
Push-известувања
Дел „Push-известувања“| Платформа | Пренос | Вие обезбедувате |
|---|---|---|
| iOS | APNs | Клуч за автентикација на APNs во контролната табла на RolChat |
| Android | FCM | JSON на сервисната сметка на FCM |
RolChat.shared.setPushToken(deviceToken, type: .apns)if RolChat.shared.handleNotification(userInfo) { return } // consumed: a chat messageТекстот на известувањата се локализира на серверот според јазикот на корисникот. Богатите известувања поддржуваат аватар, одговор од самото известување и означување како прочитано. SDK никогаш сам не бара дозвола за push; повикајте requestPushPermission() кога тоа одговара на вашето воведување. Откажувањето е преку setPushEnabled(false) или поставките на ОС; и двете се евидентираат.
Верзии и поддршка
Дел „Верзии и поддршка“Строго семантичко верзионирање. Истовремено се поддржани две главни верзии, со година за миграција по главно издание. Помалите изданија излегуваат месечно; безбедносните поправки веднаш; главните изданија се најавуваат три месеци однапред. Застарен или неподдржан SDK запишува предупредување во логот при стартување, а контролната табла го прикажува под „Интеграции“.
Приватност
Дел „Приватност“Нема следење надвор од она што ќе го вклучите; барањата за согласност ги користат нативните обрасци на платформата, а барањата на субјектите на податоци според GDPR, CCPA и LGPD ги опфаќаат сесиите на SDK како и секој друг канал. Прилозите се компресираат на уредот, се прикачуваат на потпишани URL-адреси и се скенираат за вируси пред агентите да ги видат.