Мобилни 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; връзките прекъсват, когато приложението премине във фонов режим, и се възстановяват при връщане на преден план.
Сесии и идентичност
Раздел „Сесии и идентичност“- Анонимна: идентификатор на сесията на устройството, съхранен в 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 адреси и се сканират за вируси, преди агентите да ги видят.