ข้ามไปยังเนื้อหา

SDK สำหรับมือถือ

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 สำหรับเดสก์ท็อปอยู่นอกขอบเขต สำหรับเดสก์ท็อปให้ใช้วิดเจ็ตเว็บ

ข้อความ ไฟล์แนบ ข้อความเสียง รูปภาพและวิดีโอ เซสชันนิรนามและเซสชันที่ระบุตัวตน ธีม อวาตาร์และแบรนด์ที่กำหนดเอง 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()

Callback: rolChatDidOpen rolChatDidClose rolChatDidReceiveMessage(_:) rolChatDidFailToSend(_:) API สาธารณะปลอดภัยสำหรับเธรดหลักบน iOS และเธรดเบื้องหลังบน Android การเชื่อมต่อจะหลุดเมื่อแอปเข้าสู่เบื้องหลังและกลับมาเมื่อแอปอยู่เบื้องหน้า

  • นิรนาม: ID เซสชันของอุปกรณ์ที่เก็บใน keychain หรือค่ากำหนดที่เข้ารหัส อยู่รอดข้ามการอัปเดตแอปและผูกกับอุปกรณ์ ไม่ใช่ผู้ใช้ จะถูกลบหลังไม่มีกิจกรรม 90 วัน
  • ระบุตัวตนแล้ว: หลัง identify เซสชันจะได้รับการยกระดับและรวมกับประวัตินิรนามบนอุปกรณ์เดียวกันเมื่อไม่มีความกำกวม การเชื่อมตัวตนข้ามช่องทางเป็นไปตามกฎของกราฟตัวตนและความยินยอม
  • การระบุตัวตนที่เชื่อถือได้: แบ็กเอนด์ของคุณลงลายมือชื่อโทเค็นที่มี claims ของผู้ใช้ SDK ส่งต่อ และ RolChat ตรวจสอบลายมือชื่อก่อนยกระดับเซสชัน identify ที่ไม่มีลายมือชื่อใช้ได้ แต่ความน่าเชื่อถือต่ำกว่า

คีย์ API สาธารณะในแอปปลอดภัยโดยการออกแบบ: จำกัดขอบเขตที่ไซต์และมีขีดจำกัดอัตรา

แพลตฟอร์ม ช่องทางส่ง สิ่งที่คุณต้องจัดเตรียม
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 ไม่ขอสิทธิ์พุชเอง ให้เรียก requestPushPermission() ในจังหวะที่เหมาะกับการเริ่มต้นใช้งานของคุณ การเลือกไม่รับทำได้ด้วย setPushEnabled(false) หรือการตั้งค่าระบบปฏิบัติการ ทั้งสองแบบถูกบันทึก

ใช้ semantic versioning อย่างเคร่งครัด รองรับเวอร์ชันหลักสองเวอร์ชันพร้อมกัน โดยมีเวลาหนึ่งปีสำหรับการย้ายหลังเวอร์ชันหลักออก รุ่นย่อยออกทุกเดือน การแก้ไขด้านความปลอดภัยออกทันที และประกาศเวอร์ชันหลักล่วงหน้าสามเดือน SDK ที่เลิกใช้งานหรือไม่รองรับแล้วจะบันทึกคำเตือนตอนเริ่มทำงาน และแดชบอร์ดแสดงไว้ในส่วนการเชื่อมต่อ

ไม่มีการติดตามนอกเหนือจากที่คุณเปิดใช้ ส่วนขอความยินยอมใช้รูปแบบเนทีฟของแพลตฟอร์ม และคำขอของเจ้าของข้อมูลตาม GDPR CCPA และ LGPD ครอบคลุมเซสชัน SDK เหมือนช่องทางอื่น ไฟล์แนบถูกบีบอัดบนอุปกรณ์ อัปโหลดไปยัง URL ที่ลงลายมือชื่อ และสแกนไวรัสก่อนที่เจ้าหน้าที่จะเห็น