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

Cấu hình từ xa Firebase cung cấp nhiều tính linh hoạt về cách thức và thời điểm tìm nạp các giá trị mới từ máy chủ và kích hoạt chúng trong ứng dụng của bạn, 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 bất kỳ thay đổi cấu hình hiển thị nào. Bạn có thể tìm nạp các giá trị mới khi khởi 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 pháp bổ sung để tự động tìm nạp các giá trị tham số mới nhất sau khi phiên bản mới của Cấu hình từ xa của bạn đượ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 những cân nhắc chính để chọn tùy 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 của bạn 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 chúng ngay khi tải xong. Cách tiếp cận đơn giản này hoạt động tốt đối với những thay đổi về cấu hình không gây ra bất kỳ thay đổi đáng kể nào về mặt hình ảnh trong giao diện người dùng của bạn. Nên tránh điều này trong mọi tình huống mà giao diện người dùng của bạn có thể thay đổi đáng kể trong khi người dùng đang sử dụng nó.

Sau khi ứng dụng của bạn gọi fetchAndActivate() , ứng dụng có thể bắt đầu lắng nghe các cập nhật giá trị tham số trong thời gian thực bằng cách gọi addOnConfigUpdateListener . Phương thức này bắt đầu lắng nghe mọi cập nhật phía máy chủ đối với các giá trị tham số, tự động tìm nạp chúng, 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 đối với fetchAndActivate() , nên tránh kích hoạt ngay lập tức đố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 sau màn hình tải

Để khắc phục sự cố giao diện người dùng tiềm ẩn 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 của bạn 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 của bạn. Sau đó, ngay sau đó - lại sử dụng lệnh gọi lại hoặc thông báo - loại bỏ màn hình tải và cho phép người dùng bắt đầu tương tác với ứng dụng của bạn.

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 cho người dùng.

Việc lắng nghe các bản cập nhật Cấu hình từ xa theo thời gian thực bằng cách gọi addOnConfigUpdateListener hoạt động tốt với chiến lược này. Thêm trình nghe khi màn hình tải 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 trực quan đáng kể.

Chiến lược 3: Tải các 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 vào 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 kích hoạt các giá trị được tìm nạp khi khởi động trước khi thử tìm nạp các giá trị mới, hoạt động dựa trên giả định rằng ứng dụng có thể đã tìm nạp — nhưng chưa được kích hoạt — các giá trị cấu hình mới. Thứ tự thực hiện chiến lược này là:

  1. Khi khởi động, kích hoạt ngay các giá trị được tìm nạp trước đó. Điều 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ư ngay lập tức.
  2. Trong khi người dùng tương tác với ứng dụng của bạn, hãy bắt đầu 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 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ập nhật theo thời gian thực bỏ qua 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, không làm gì cả. Ứng dụng của bạn sẽ giữ lại các giá trị đã tải xuống cho đến khi bạn kích hoạt chúng vào lần khởi động ứng dụng tiếp theo.

Với chiến lược này, thời gian chờ đợi 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à trình nghe theo thời gian thực với lệnh gọi activate() khi cần trong vòng đời ứng dụng sẽ đảm bảo người dùng nhận được các giá trị mới nhất từ ​​Cấu hình từ xa khi họ tương tác với ứng dụng của bạn.

Đang tải phản chiến lược

Như bạn có thể đã hiểu từ cuộc 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 khía cạnh 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 nó — trừ khi bạn có lý do chính đáng về ứng dụng hoặc kinh doanh để làm như vậy, chẳng hạn như xóa các tùy chọn liên quan đến 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 đồng thời, điều này 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 Cấu hình từ xa theo thời gian thực . Mặc dù nguy cơ điều tiết là thấp trong hầu hết các tình huống sản xuất nhưng nó có thể là một vấn đề trong quá trình phát triển tích cực—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. Kiểm tra hướng dẫn điều tiết .
  • Đừng dựa vào kết nối mạng để nhận các giá trị Cấu hình từ xa. Đặt các giá trị thông 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ể đồng bộ hóa định kỳ các giá trị mặc định của ứng dụng và Cấu hình từ xa bằng cách sử dụng các giá trị mặc định của mẫu đã tải xuống .

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. Tùy thuộc vào nhu cầu của bạn, bạn có thể nghĩ ra các chiến lược phức tạp hơn nhiều.

Hãy xem tài liệu tham khảo API dành 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.