इसे छोड़कर कंटेंट पर जाएं

मोबाइल SDK

मोबाइल SDK आपके अपने ऐप के लिए वेब विजेट के समकक्ष हैं: आपके ग्राहकों को पूरे बातचीत इतिहास और पुश नोटिफ़िकेशन के साथ ऐप के अंदर सपोर्ट मिलता है, और आपके एजेंट वे बातचीत उसी इनबॉक्स में देखते हैं। ये आपकी टीम के लिए एजेंट ऐप नहीं हैं; वे एक अलग उत्पाद श्रृंखला हैं।

प्लेटफ़ॉर्म भाषा और रनटाइम वितरण स्थिति
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 में क्या शामिल है

Section titled “SDK में क्या शामिल है”

टेक्स्ट संदेश, अटैचमेंट, वॉइस संदेश, इमेज और वीडियो, अनाम और पहचाने गए सेशन, थीम, कस्टम अवतार और ब्रांडिंग, 40 भाषाएँ, AI कंसीयर्ज, बातचीत इतिहास, अपठित बैज, पुश नोटिफ़िकेशन, डीप लिंक, फ़ोन के डायलर से क्लिक-टू-कॉल, बैकग्राउंड सिंक के साथ ऑफ़लाइन कतार, चैट के लिए बायोमेट्रिक अनलॉक, VoiceOver और TalkBack समर्थन, डार्क मोड। लक्षित कंपाइल आकार: हर प्लेटफ़ॉर्म के लिए 5 MB या कम।

ऐप के अंदर WebRTC कॉल और ग्राहक की ओर से स्क्रीन शेयरिंग बाद की रिलीज़ में आएँगे। को-ब्राउज़िंग केवल वेब पर है: मोबाइल ऑपरेटिंग सिस्टम तृतीय-पक्ष 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

UI दिखाएँ:

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 पर बैकग्राउंड थ्रेड के लिए सुरक्षित है; ऐप बैकग्राउंड में जाने पर कनेक्शन टूट जाते हैं और फ़ोरग्राउंड में आने पर फिर शुरू होते हैं।

  • अनाम: keychain या एन्क्रिप्टेड प्राथमिकताओं में संग्रहीत डिवाइस सेशन ID ऐप अपडेट के बाद भी बनी रहती है और उपयोगकर्ता से नहीं, डिवाइस से जुड़ी होती है। 90 दिन की निष्क्रियता के बाद यह हटा दी जाती है।
  • पहचाना गया: identify के बाद सेशन प्रमोट होता है और जब कोई अस्पष्टता न हो तो उसी डिवाइस के अनाम इतिहास के साथ मर्ज हो जाता है। चैनलों के पार पहचान आइडेंटिटी ग्राफ़ के नियमों और सहमति का पालन करती है।
  • भरोसेमंद पहचान: आपका बैकएंड उपयोगकर्ता के क्लेम के साथ टोकन पर हस्ताक्षर करता है; SDK उसे भेजता है और सेशन प्रमोट करने से पहले RolChat हस्ताक्षर सत्यापित करता है। बिना हस्ताक्षर वाला identify काम करता है, लेकिन कम भरोसे के साथ।

ऐप में सार्वजनिक API कुंजी डिज़ाइन से ही सुरक्षित है: यह साइट के दायरे में है और दर-सीमित है।

पुश नोटिफ़िकेशन

Section titled “पुश नोटिफ़िकेशन”
प्लेटफ़ॉर्म ट्रांसपोर्ट आप क्या देते हैं
iOS APNs RolChat डैशबोर्ड में APNs प्रमाणीकरण कुंजी
Android FCM FCM सर्विस अकाउंट JSON
RolChat.shared.setPushToken(deviceToken, type: .apns)
if RolChat.shared.handleNotification(userInfo) { return } // consumed: a chat message

नोटिफ़िकेशन टेक्स्ट सर्वर पर उपयोगकर्ता की लोकेल में स्थानीयकृत होता है। रिच नोटिफ़िकेशन अवतार, नोटिफ़िकेशन से जवाब और पढ़ा चिह्नित करना सपोर्ट करते हैं। SDK कभी अपने आप पुश अनुमति नहीं माँगता; अपनी ऑनबोर्डिंग के अनुसार सही समय पर requestPushPermission() कॉल करें। ऑप्ट-आउट setPushEnabled(false) या OS सेटिंग्स से होता है; दोनों दर्ज होते हैं।

संस्करण और सपोर्ट

Section titled “संस्करण और सपोर्ट”

सख़्त सिमेंटिक वर्ज़निंग। एक साथ दो मुख्य संस्करण समर्थित हैं, मुख्य रिलीज़ के बाद माइग्रेट करने के लिए एक साल के साथ। माइनर रिलीज़ हर महीने; सुरक्षा सुधार तुरंत; मुख्य रिलीज़ की घोषणा तीन महीने पहले। डेप्रिकेट या असमर्थित SDK शुरू होने पर चेतावनी लॉग करता है और डैशबोर्ड उसे इंटीग्रेशन में दिखाता है।

आप जो चालू करें उसके अलावा कोई ट्रैकिंग नहीं, सहमति इंटरफ़ेस प्लेटफ़ॉर्म के नेटिव पैटर्न इस्तेमाल करते हैं, और GDPR, CCPA और LGPD डेटा-विषय अनुरोध किसी भी दूसरे चैनल की तरह SDK सेशन को भी कवर करते हैं। अटैचमेंट डिवाइस पर कंप्रेस होते हैं, हस्ताक्षरित URL पर अपलोड होते हैं और एजेंटों के देखने से पहले वायरस के लिए स्कैन होते हैं।