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 SettingsLị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ị