Ứng dụng di động
Khách có thể chat với bạn ngay trong ứng dụng của bạn. SDK native mở màn hình chat trong ứng dụng, đồng bộ hội thoại và nhận thông báo đẩy. Tin nhắn của họ về cùng hộp thư với khách trên website. Trang này giải thích phần việc trong dashboard; các trang SDK hướng dẫn phần code.
Ứng dụng kết nối thế nào
Mỗi ứng dụng di động gắn với một website (site) trong Hỗ trợ → Kênh. Ứng dụng dùng chung cài đặt của site đó, như giờ làm việc và trợ lý AI, và hội thoại của nó thuộc site đó trong báo cáo, quy tắc phân phối và tự động hoá.
Trình duyệt chứng minh mình đến từ đâu bằng Origin, và origin phải khớp tên miền hoặc danh sách origin được phép của site. Ứng dụng không có origin, nên nó gửi khoá ứng dụng thay thế:
- Mỗi ứng dụng có khoá riêng, bắt đầu bằng
hak_. Bạn truyền khoá vào SDK cùng với site id. - Khoá nằm trong bản build của ứng dụng, giống site id. Khoá chỉ dùng cho một site và thu hồi được, nên coi nó là thông tin công khai nhưng không nên phát tán.
- Khoá không mở được dữ liệu của bạn hay REST API. Lời gọi từ server dùng API key (Xác thực).
Tạo khoá ứng dụng
-
Vào Hỗ trợ → Kênh → Thêm kênh → Ứng dụng di động.
-
Nếu doanh nghiệp có nhiều site, chọn website mà ứng dụng thuộc về ở mục Gắn kết nối mới vào site.
-
Điền form:
Trường Ghi chú Tên ứng dụng Để bạn phân biệt, ví dụ Mộc Hương iOSNền tảng iOS, Android, Flutter, React Native hoặc Khác Bundle ID / package (tuỳ chọn) Mỗi dòng một giá trị, ví dụ com.example.app. Chỉ để ghi nhớ, hiện chưa dùng để kiểm tra -
Bấm Tạo khoá ứng dụng. Khoá chỉ hiện một lần ở trang tiếp theo, cạnh đoạn mã Khởi tạo SDK. Chép khoá vào cấu hình của ứng dụng.
Cũng có thể mở một website trong Hỗ trợ → Kênh, chuyển sang tab Ứng dụng và bấm Thêm ứng dụng.
Cấu hình SDK
SDK nào cũng nhận hai giá trị: site id (site_...) và khoá ứng dụng (hak_...). Ví dụ với Flutter:
await HatangChat.configure(
siteId: "site_...",
appKey: "hak_...",
);
Làm theo hướng dẫn cho nền tảng của bạn: Flutter, iOS, Android hoặc React Native. Trang Tổng quan SDK liệt kê mọi SDK và phiên bản được hỗ trợ.
Hai việc áp dụng cho mọi ứng dụng:
- Nhận diện người dùng đã đăng nhập để cùng một người thấy cùng lịch sử trên web và trong ứng dụng: Nhận diện khách.
- Thông báo đẩy đi qua dự án Firebase của chính bạn. Tải tài khoản dịch vụ lên một lần cho mỗi website, ở tab Ứng dụng của website, mục Thông báo đẩy (Firebase); khoá này dùng chung cho mọi ứng dụng của site. Xem Thông báo đẩy.
Trang của ứng dụng
Mỗi ứng dụng có trang riêng trong Hỗ trợ → Kênh: nền tảng, bundle ID, phần đầu của khoá, ngày tạo, lần kết nối gần nhất và số thiết bị đã đăng ký nhận thông báo đẩy. Trạng thái là Chưa dùng cho tới khi ứng dụng kết nối lần đầu, sau đó là Hoạt động, và Đã tắt khi khoá bị thu hồi.
Thu hồi hoặc thay khoá
Bấm Thu hồi trên trang của ứng dụng khi khoá bị lộ hoặc khi một bản build không được kết nối nữa. Trong khoảng một phút, mọi bản cài dùng khoá đó bị từ chối với app_key_revoked (HTTP 403), và SDK không mở được phiên mới cho tới khi bạn phát hành bản build có khoá mới. Để đổi khoá:
- Tạo khoá ứng dụng mới (thêm một ứng dụng nữa cho cùng website).
- Phát hành bản build dùng khoá mới.
- Thu hồi khoá cũ khi còn ít người dùng bản cũ, rồi bấm Xoá.
Thu hồi khoá sẽ chặn mọi bản cài còn dùng khoá đó, kể cả người chưa cập nhật ứng dụng. Hãy phát hành bản mới trước.
Xử lý sự cố
| Hiện tượng | Nguyên nhân | Cách xử lý |
|---|---|---|
invalid_app_key (401) | Khoá gõ sai hoặc thuộc site khác | Lấy site id và khoá từ cùng một website |
app_key_revoked (403) | Khoá đã bị thu hồi | Phát hành bản build có khoá mới |
product_disabled (403) | Module Hỗ trợ đang tắt | Chủ sở hữu hoặc quản trị viên bật lại (Bật/tắt module) |
| Ứng dụng mãi ở trạng thái Chưa dùng | Ứng dụng chưa khởi tạo phiên với khoá này | Chạy ứng dụng và mở chat một lần; xem log của SDK |
| Không có thông báo đẩy | Website chưa có tài khoản dịch vụ Firebase, hoặc thiết bị chưa đăng ký | Tải tài khoản dịch vụ ở tab Ứng dụng; xem Thông báo đẩy |
Bước tiếp theo
- Tổng quan SDK
- Cấu hình widget: các cài đặt ứng dụng dùng chung với website
- Realtime: SDK làm gì bên dưới