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.
Platformlar
Bölüm başlığı “Platformlar”| 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.
SDK neleri içerir
Bölüm başlığı “SDK neleri içerir”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.
SDK yüzeyi
Bölüm başlığı “SDK yüzeyi”Uygulama yaşam döngüsünün başında bir kez başlatı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)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 historyArayüzü gösterin:
RolChat.shared.openChat() // modalRolChat.shared.openChat(conversationId: id) // a specific conversationRolChat.shared.openChatInline(view) // inside your own layoutRolChat.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.
Oturumlar ve kimlik
Bölüm başlığı “Oturumlar ve kimlik”- 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ış:
identifysonrası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.
Anlık bildirimler
Bölüm başlığı “Anlık bildirimler”| 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 messageBildirim 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.
Sürümleme ve destek
Bölüm başlığı “Sürümleme ve destek”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.
Gizlilik
Bölüm başlığı “Gizlilik”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.