Bỏ qua để đến nội dung

SDK di động

SDK di động là phiên bản tương đương của widget web dành cho ứng dụng của riêng bạn: khách hàng được hỗ trợ ngay trong ứng dụng với đầy đủ lịch sử trò chuyện và thông báo đẩy, còn nhân viên của bạn thấy các cuộc trò chuyện đó trong cùng Hộp thư. Đây không phải ứng dụng dành cho nhân viên của đội bạn; đó là một dòng sản phẩm riêng.

Nền tảng Ngôn ngữ và runtime Phân phối Trạng thái
iOS Swift 5.9+, iOS 15+ Swift Package Manager, CocoaPods đang phát triển
Android Kotlin 1.9+, Android 8.0 (API 26)+ Maven Central đang phát triển
React Native bao bọc SDK native npm dự kiến (beta)
Flutter bao bọc SDK native pub.dev dự kiến (beta)

SDK native là chuẩn chính thức; các wrapper được phát hành sau. Ứng dụng đồng hồ, TV và SDK cho máy tính nằm ngoài phạm vi; hãy dùng widget web cho máy tính.

Nhắn tin văn bản, tệp đính kèm, tin nhắn thoại, hình ảnh và video, phiên ẩn danh và đã nhận diện, giao diện tùy chỉnh, avatar và thương hiệu riêng, 40 ngôn ngữ, trợ lý AI, lịch sử trò chuyện, huy hiệu chưa đọc, thông báo đẩy, deep link, nhấn để gọi qua trình quay số của điện thoại, hàng đợi ngoại tuyến với đồng bộ nền, mở khóa sinh trắc học cho chat, hỗ trợ VoiceOver và TalkBack, chế độ tối. Kích thước biên dịch mục tiêu: 5 MB trở xuống cho mỗi nền tảng.

Cuộc gọi WebRTC trong ứng dụng và chia sẻ màn hình từ phía khách hàng sẽ có trong bản phát hành sau. Cobrowse chỉ dành cho web: hệ điều hành di động không cho phép SDK bên thứ ba quan sát hay điều khiển màn hình.

Khởi tạo một lần, sớm trong vòng đời ứng dụng:

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

Nhận diện người dùng sau khi họ đăng nhập, và đăng xuất khi họ đăng xuất:

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

Hiển thị giao diện:

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 công khai an toàn khi gọi trên main thread ở iOS và trên background thread ở Android; kết nối bị ngắt khi ứng dụng chuyển sang nền và khôi phục khi quay lại tiền cảnh.

  • Ẩn danh: ID phiên của thiết bị được lưu trong keychain hoặc tùy chọn đã mã hóa, tồn tại qua các lần cập nhật ứng dụng và gắn với thiết bị chứ không phải người dùng. Nó bị xóa sau 90 ngày không hoạt động.
  • Đã nhận diện: sau identify, phiên được nâng cấp và gộp với lịch sử ẩn danh trên cùng thiết bị khi không có sự mơ hồ. Việc xác định danh tính xuyên kênh tuân theo quy tắc của đồ thị danh tính và sự đồng ý.
  • Nhận diện tin cậy: backend của bạn ký một token chứa các claim của người dùng; SDK truyền token đó và RolChat xác minh chữ ký trước khi nâng cấp phiên. identify không ký vẫn hoạt động nhưng có độ tin cậy thấp hơn.

Khóa API công khai trong ứng dụng an toàn theo thiết kế: nó được giới hạn theo site và chịu giới hạn tốc độ.

Nền tảng Phương thức truyền Bạn cung cấp
iOS APNs Khóa xác thực APNs trong bảng điều khiển RolChat
Android FCM Tệp JSON service account của FCM
RolChat.shared.setPushToken(deviceToken, type: .apns)
if RolChat.shared.handleNotification(userInfo) { return } // consumed: a chat message

Nội dung thông báo được bản địa hóa phía máy chủ theo ngôn ngữ của người dùng. Thông báo phong phú hỗ trợ avatar, trả lời ngay từ thông báo và đánh dấu đã đọc. SDK không bao giờ tự xin quyền gửi thông báo đẩy; hãy gọi requestPushPermission() vào thời điểm phù hợp với luồng onboarding của bạn. Người dùng từ chối bằng setPushEnabled(false) hoặc trong cài đặt hệ điều hành; cả hai đều được ghi nhận.

Quản lý phiên bản ngữ nghĩa nghiêm ngặt. Hai phiên bản chính được hỗ trợ cùng lúc, với một năm để chuyển đổi sau mỗi bản phát hành chính. Bản phát hành phụ ra hằng tháng; bản sửa lỗi bảo mật được phát hành ngay; bản phát hành chính được thông báo trước ba tháng. SDK đã ngừng hỗ trợ hoặc không còn được hỗ trợ sẽ ghi cảnh báo khi khởi động và bảng điều khiển hiển thị nó trong mục Tích hợp.

Không theo dõi gì ngoài những gì bạn bật, màn hình xin đồng ý dùng mẫu giao diện gốc của nền tảng, và yêu cầu của chủ thể dữ liệu theo GDPR, CCPA và LGPD bao gồm cả phiên SDK như mọi kênh khác. Tệp đính kèm được nén trên thiết bị, tải lên URL có ký và được quét virus trước khi nhân viên xem.