Chiến lược tải Cấu hình từ xa Firebase

Cấu hình từ xa Firebase giúp bạn có thể linh hoạt lựa chọn cách thức và thời điểm tìm nạp các giá trị mới từ máy chủ, đồng thời kích hoạt các giá trị đó trong ứng dụng của mình, cho phép bạn đảm bảo trải nghiệm người dùng cuối chất lượng bằng cách kiểm soát thời gian của mọi thay đổi về cấu hình hiển thị. Bạn có thể tìm nạp các giá trị mới khi chạy ứng dụng bằng cách sử dụng fetchAndActivate() và sử dụng Cấu hình từ xa theo thời gian thực làm phương thức bổ sung để tự động tìm nạp các giá trị thông số mới nhất sau khi phiên bản Cấu hình từ xa mới được xuất bản.

Hướng dẫn này xem xét một số chiến lược tải và thảo luận các yếu tố chính cần cân nhắc để chọn lựa chọn tốt nhất cho ứng dụng của bạn.

Chiến lược 1: Tìm nạp và kích hoạt khi tải

Trong chiến lược này, ứng dụng của bạn sẽ gọi fetchAndActivate() khi ứng dụng khởi động lần đầu để tìm nạp các giá trị mới từ Cấu hình từ xa và kích hoạt các giá trị đó ngay khi tải xong. Phương pháp đơn giản này phù hợp với các thay đổi về cấu hình mà không gây ra bất kỳ thay đổi đáng kể nào về hình ảnh trong giao diện người dùng. Bạn nên tránh việc này trong mọi trường hợp giao diện người dùng có thể thay đổi đáng kể trong khi người dùng đang sử dụng.

Sau khi gọi fetchAndActivate(), ứng dụng của bạn có thể bắt đầu theo dõi thông tin cập nhật giá trị tham số theo thời gian thực bằng cách gọi addOnConfigUpdateListener. Phương thức này bắt đầu theo dõi mọi nội dung cập nhật phía máy chủ đối với các giá trị tham số, tự động tìm nạp các giá trị đó, sau đó gọi trình nghe. Một chiến lược đơn giản là kích hoạt các giá trị mới trong trình nghe. Tuy nhiên, như đã đề cập cho fetchAndActivate(), bạn không nên kích hoạt ngay đối với các giao diện người dùng nhạy cảm.

Chiến lược 2: Kích hoạt phía sau màn hình tải

Để khắc phục vấn đề tiềm ẩn về giao diện người dùng gặp phải trong chiến lược 1, bạn có thể dựa vào màn hình tải. Thay vì khởi động ứng dụng ngay lập tức, hãy hiển thị màn hình tải và gọi fetchAndActivate trong trình xử lý hoàn thành. Ngay sau đó, hãy đóng màn hình tải một lần nữa bằng cách sử dụng lệnh gọi lại hoặc thông báo và cho phép người dùng bắt đầu tương tác với ứng dụng.

Nếu sử dụng chiến lược này, bạn nên thêm thời gian chờ vào màn hình tải. Thời gian chờ một phút của Cấu hình từ xa có thể quá dài đối với trải nghiệm khởi động ứng dụng chất lượng của người dùng.

Việc theo dõi thông tin cập nhật theo thời gian thực Cấu hình từ xa bằng cách gọi addOnConfigUpdateListener phù hợp với chiến lược này. Thêm trình nghe khi màn hình tải đang hiển thị, sau đó sử dụng activate() tại một hoặc nhiều điểm trong ứng dụng của bạn nơi các giá trị Cấu hình từ xa sẽ không gây ra những thay đổi đáng kể về hình ảnh.

Chiến lược 3: Tải giá trị mới cho lần khởi động tiếp theo

Một chiến lược hiệu quả là tải các giá trị cấu hình mới để kích hoạt trong lần khởi động tiếp theo của ứng dụng. Trong chiến lược này, ứng dụng của bạn sẽ kích hoạt các giá trị đã tìm nạp khi khởi động trước khi tìm nạp các giá trị mới, hoạt động trên giả định rằng ứng dụng có thể đã tìm nạp nhưng chưa kích hoạt các giá trị cấu hình mới. Thứ tự các thao tác của chiến lược này là:

  1. Khi khởi động, hãy kích hoạt ngay các giá trị đã tìm nạp trước đó. Lệnh này áp dụng mọi giá trị bạn đã tải xuống từ máy chủ trong phiên trước đó và gần như tức thì.
  2. Trong khi người dùng tương tác với ứng dụng, hãy bắt đầu một lệnh gọi không đồng bộ để tìm nạp các giá trị mới theo khoảng thời gian tìm nạp tối thiểu mặc định và thêm trình nghe cập nhật cấu hình theo thời gian thực. Trình nghe theo thời gian thực sẽ tự động tìm nạp mọi giá trị được xuất bản trên máy chủ trong khi ứng dụng của bạn đang chạy. Các bản cập nhật theo thời gian thực bỏ qua chế độ cài đặt khoảng thời gian tìm nạp tối thiểu.
  3. Trong trình xử lý hoàn thành hoặc lệnh gọi lại cho lệnh gọi tìm nạp, bạn không cần làm gì cả. Ứng dụng sẽ giữ các giá trị đã tải xuống cho đến khi bạn kích hoạt các giá trị đó vào lần khởi động tiếp theo của ứng dụng.

Với chiến lược này, thời gian chờ của người dùng được giảm thiểu đáng kể. Việc kết hợp chiến lược tìm nạp và chiến lược trình nghe theo thời gian thực với các lệnh gọi activate() nếu cần trong vòng đời của ứng dụng sẽ đảm bảo người dùng có được các giá trị mới nhất từ Cấu hình từ xa khi tương tác với ứng dụng của bạn.

Đang tải chiến lược chống

Như bạn có thể đã hiểu qua nội dung thảo luận ở trên về ưu và nhược điểm của việc tải, có một số kiểu sử dụng cần tránh.

  • Không cập nhật hoặc chuyển đổi các thành phần của giao diện người dùng trong khi người dùng đang xem hoặc tương tác với giao diện người dùng – trừ phi bạn có lý do chính đáng liên quan đến ứng dụng hoặc hoạt động kinh doanh, chẳng hạn như xoá các lựa chọn liên quan đến một chương trình khuyến mãi vừa kết thúc.
  • Không gửi hàng loạt yêu cầu tìm nạp cùng lúc vì có thể khiến máy chủ điều tiết ứng dụng của bạn. Nếu bạn cần tìm nạp các bản cập nhật thường xuyên, hãy sử dụng tính năng Cấu hình từ xa theo thời gian thực. Mặc dù rủi ro điều tiết thấp trong hầu hết các tình huống phát hành chính thức, nhưng đây có thể là vấn đề trong quá trình phát triển đang hoạt động – và Cấu hình từ xa theo thời gian thực được thiết kế cho trường hợp sử dụng này. Hãy xem hướng dẫn điều tiết.
  • Không dựa vào kết nối mạng để lấy giá trị Cấu hình từ xa. Nên đặt các giá trị tham số mặc định trong ứng dụng để ứng dụng của bạn luôn hoạt động như mong đợi. Bạn có thể định kỳ giữ lại các giá trị mặc định của phần phụ trợ Cấu hình từ xa và ứng dụng trong quá trình đồng bộ hoá bằng cách sử dụng giá trị mặc định của mẫu đã tải xuống.

Các bước tiếp theo

Ba chiến lược cơ bản này không bao gồm danh sách đầy đủ các cách tải giá trị cấu hình. Tuỳ thuộc vào nhu cầu, bạn có thể nghĩ ra nhiều chiến lược phức tạp hơn.

Hãy xem tài liệu tham khảo API cho nền tảng của bạn để tìm hiểu thêm về các lệnh gọi cụ thể để tìm nạp và kích hoạt các giá trị cấu hình.