Прескокни до содржината

Мобилни 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“

Иницијализирајте еднаш, рано во животниот циклус на апликацијата:

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

Идентификувајте го корисникот откако ќе се најави и одјавете го кога ќе се одјави:

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() // modal
RolChat.shared.openChat(conversationId: id) // a specific conversation
RolChat.shared.openChatInline(view) // inside your own layout
RolChat.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-адреси и се скенираат за вируси пред агентите да ги видат.