Chuyển tới nội dung chính

Đồng bộ dữ liệu

Cơ chế đồng bộ​

KFilms sử dụng Firestore (cơ sở dữ liệu đám mây của Firebase) để đồng bộ dữ liệu giữa các thiết bị.

Sơ đồ đồng bộ dữ liệu KFilms
📸 Hình: Sơ đồ luồng đồng bộ — Điện thoại ↔ Firestore ↔ TV/Windows

Nguyên tắc:

  • Offline-first: Dữ liệu local (SharedPreferences) là nguồn chính — app hoạt động đầy đủ khi không có mạng
  • Firestore là bản sao lưu (mirror): Dữ liệu được đẩy lên đám mây để đồng bộ sang thiết bị khác
  • Best-effort: Nếu đồng bộ thất bại (mất mạng, lỗi server), app không bị block — thao tác vẫn diễn ra bình thường

Dữ liệu được đồng bộ​

Dữ liệuMô tảGhi chú
📁 Danh sách phim (Files)Các file/phim đã thêmPush khi thêm/xoá
📂 Nhóm phim bộ (Groups)Series TV đã thêmPush khi thêm/xoá
🔑 Fshare credentialsEmail/mật khẩu Fshare (tuỳ chọn)Đồng bộ nếu lưu
🔑 PikPak credentialsEmail/mật khẩu PikPak (tuỳ chọn)Đồng bộ nếu lưu
🔑 WebDAV credentialsURL/tài khoản WebDAV (tuỳ chọn)Đồng bộ nếu lưu

Lưu ý: Tiến độ xem (vị trí đang xem dở) chỉ lưu trên thiết bị local, không đồng bộ qua đám mây.

Khi nào đồng bộ xảy ra​

Sự kiệnHành động
Đăng nhập thành côngKéo (Pull) dữ liệu từ Firestore về máy
Thêm phim / nhóm phim mớiĐẩy (Push) lên Firestore
Xoá phim / nhóm phimĐẩy (Push) lên Firestore
Đăng xuấtXoá token đồng bộ (không ảnh hưởng dữ liệu local)

Lịch sử đăng nhập​

KFilms ghi lại lịch sử đăng nhập của bạn trên các thiết bị:

  1. Vào Settings → Lịch sử đăng nhập
  2. Hiển thị tối đa 5 thiết bị gần nhất
  3. Mỗi thiết bị hiển thị: tên app, nền tảng, thời gian hoạt động gần nhất

Hoạt động offline​

Tình huốngHoạt động
✅ Có mạng, có local copyPhát file local
✅ Có mạng, không có local copyStream từ server (cần Pro)
❌ Mất mạng, có local copyPhát file local bình thường
❌ Mất mạng, không có local copyHiển thị lỗi: "Cần kết nối để xem"

Bài tiếp theo​

➡️ Hướng dẫn Kết nối thiết bị