İçeriğe geç

Mobil SDK'lar

Mobil SDK’lar, web widget’ının kendi uygulamalarınızdaki karşılığıdır: müşterileriniz tam konuşma geçmişi ve anlık bildirimlerle uygulama içi destek alır, temsilcileriniz de bu konuşmaları aynı Gelen kutusunda görür. Bunlar ekibiniz için temsilci uygulamaları değildir; onlar ayrı bir ürün serisidir.

Platform Dil ve çalışma ortamı Dağıtım Durum
iOS Swift 5.9+, iOS 15+ Swift Package Manager, CocoaPods geliştirme aşamasında
Android Kotlin 1.9+, Android 8.0 (API 26)+ Maven Central geliştirme aşamasında
React Native yerel SDK’ları sarmalar npm planlandı (beta)
Flutter yerel SDK’ları sarmalar pub.dev planlandı (beta)

Yerel SDK’lar esas alınır; sarmalayıcılar onlardan sonra yayınlanır. Saat veya TV uygulamaları ve masaüstü SDK’ları kapsam dışındadır; masaüstü için web widget’ını kullanın.

Metin mesajlaşma, ekler, sesli mesajlar, görseller ve video, anonim ve tanımlanmış oturumlar, tema desteği, özel avatar ve markalama, 40 dil, yapay zeka danışmanı, konuşma geçmişi, okunmamış rozetleri, anlık bildirimler, derin bağlantılar, telefonun arama uygulaması üzerinden tıkla-ara, arka planda eşitlemeli çevrimdışı kuyruk, sohbet için biyometrik kilit açma, VoiceOver ve TalkBack desteği, karanlık mod. Hedef derlenmiş boyut: platform başına 5 MB veya daha az.

Uygulama içi WebRTC aramaları ve müşteriden ekran paylaşımı sonraki bir sürümde gelecek. Ortak tarama yalnızca web içindir: mobil işletim sistemleri, üçüncü taraf bir SDK’nın ekranı izlemesine veya kontrol etmesine izin vermez.

Uygulama yaşam döngüsünün başında bir kez başlatın:

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

Kullanıcıyı oturum açtıktan sonra tanımlayın, oturumu kapattığında da çıkış yapın:

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

Arayüzü gösterin:

RolChat.shared.openChat() // modal
RolChat.shared.openChat(conversationId: id) // a specific conversation
RolChat.shared.openChatInline(view) // inside your own layout
RolChat.shared.close()

Geri çağrılar: rolChatDidOpen, rolChatDidClose, rolChatDidReceiveMessage(_:), rolChatDidFailToSend(_:). Herkese açık API, iOS’ta ana iş parçacığında, Android’de arka plan iş parçacıklarında güvenlidir; uygulama arka plana geçtiğinde bağlantılar kesilir ve ön plana döndüğünde devam eder.

  • Anonim: keychain’de veya şifrelenmiş tercihlerde saklanan bir cihaz oturum kimliği uygulama güncellemelerinden sonra da korunur ve kullanıcıya değil cihaza bağlıdır. 90 gün etkinlik olmazsa temizlenir.
  • Tanımlanmış: identify sonrasında oturum yükseltilir ve belirsizlik yoksa aynı cihazdaki anonim geçmişle birleştirilir. Kanallar arası kimlik çözümlemesi, kimlik grafiği kurallarına ve onaya uyar.
  • Güvenilir tanımlama: arka ucunuz kullanıcının claim’leriyle bir token imzalar; SDK bunu iletir ve RolChat oturumu yükseltmeden önce imzayı doğrular. İmzasız identify çalışır ama daha düşük güven düzeyindedir.

Uygulamadaki herkese açık API anahtarı tasarımı gereği güvenlidir: siteyle sınırlandırılmıştır ve hız sınırına tabidir.

Platform Aktarım Sizin sağlamanız gereken
iOS APNs RolChat panelinde bir APNs kimlik doğrulama anahtarı
Android FCM FCM hizmet hesabı JSON’u
RolChat.shared.setPushToken(deviceToken, type: .apns)
if RolChat.shared.handleNotification(userInfo) { return } // consumed: a chat message

Bildirim metni sunucu tarafında kullanıcının diline yerelleştirilir. Zengin bildirimler avatarı, bildirimden yanıtlamayı ve okundu olarak işaretlemeyi destekler. SDK asla kendiliğinden push izni istemez; uygulamanızın başlangıç akışına uyduğu anda requestPushPermission() çağırın. Devre dışı bırakma setPushEnabled(false) veya işletim sistemi ayarlarıyla yapılır; her ikisi de kaydedilir.

Katı anlamsal sürümleme. Aynı anda iki ana sürüm desteklenir ve bir ana sürümden sonra geçiş için bir yıl verilir. Ara sürümler aylık yayınlanır; güvenlik düzeltmeleri hemen yayınlanır; ana sürümler üç ay önceden duyurulur. Kullanımdan kaldırılmış veya desteklenmeyen bir SDK başlangıçta bir uyarı loglar ve panel bunu Entegrasyonlar altında gösterir.

Etkinleştirdikleriniz dışında izleme yoktur, onay ekranları platformun yerel kalıplarını kullanır ve GDPR, CCPA ve LGPD kapsamındaki veri sahibi talepleri SDK oturumlarını da diğer kanallar gibi kapsar. Ekler cihazda sıkıştırılır, imzalı URL’lere yüklenir ve temsilciler görmeden önce virüs taramasından geçirilir.