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
Phần tiêu đề “Nền tả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.
SDK bao gồm những gì
Phần tiêu đề “SDK bao gồm những gì”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.
Giao diện SDK
Phần tiêu đề “Giao diện SDK”Khởi tạo một lần, sớm trong vòng đời ứng dụng:
// 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)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 historyHiển thị giao diện:
RolChat.shared.openChat() // modalRolChat.shared.openChat(conversationId: id) // a specific conversationRolChat.shared.openChatInline(view) // inside your own layoutRolChat.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.
Phiên và danh tính
Phần tiêu đề “Phiên và danh tí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.
identifykhô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 độ.
Thông báo đẩy
Phần tiêu đề “Thông báo đẩy”| 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 messageNộ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.
Phiên bản và hỗ trợ
Phần tiêu đề “Phiên bản và hỗ trợ”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.
Quyền riêng tư
Phần tiêu đề “Quyền riêng tư”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.