Các chiến lược tải cấu hình từ xa của Firebase

Firebase Remote Config 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. Hướng dẫn này xem xét một số chiến lược tải và thảo luận về 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 đầu tiên khởi động để lấy giá trị mới từ xa Config và kích hoạt chúng ngay khi họ đang thực hiện tải. Cách tiếp cận đơn giản này hoạt động tốt đối với các thay đổi cấu hình không gây ra bất kỳ thay đổi hình ảnh ấn tượng nào trong giao diện người dùng của bạn. Nên tránh trong bất kỳ trường hợp nào 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ó.

Chiến lược 2: Kích hoạt phía 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, cho thấy một màn hình tải và gọi fetchAndActivate trong xử lý hoàn thành của bạn. Sau đó, ngay sau đó - một lần nữa sử dụng cuộc 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 bạn 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 Remote Config có thể quá lâu đối với trải nghiệm khởi động ứng dụng chất lượng cho người dùng.

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à để nạp giá trị cấu hình mới để kích hoạt khi 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ị đã tìm nạp khi khởi động trước khi cố gắng tìm nạp các giá trị mới, hoạt động trên giả định rằng nó có thể đã được 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ự các hoạt động cho chiến lược này là:

  1. Khi khởi động, ngay lập tức kích hoạt các giá trị đã tìm nạp trước đó. Điều này áp dụng bất kỳ giá trị nào 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.
  3. Trong trình xử lý hoàn thành hoặc lệnh gọi lại cho cuộc gọi tìm nạp, không làm gì cả. Ứng dụng của bạn sẽ giữ 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ể. Tuy nhiên, người dùng phải chạy ứng dụng của bạn lần thứ hai để xem cấu hình mới nhất. Bạn sẽ cần cân nhắc những cân nhắc này với logic kinh doanh và ứng dụng của mình.

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

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ố cách sử dụng cần tránh.

  • Không cập nhật hoặc chuyển sang các khía cạnh của giao diện người dùng khi người dùng đang xem hoặc tương tác với nó - trừ khi bạn có ứng dụng hoặc kinh doanh mạnh mẽ lý do để làm như vậy, giống như loại bỏ 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 số lượng yêu cầu đồng thời lấy, điều này có thể khiến máy chủ throttling ứng dụng của bạn. Rủi ro của điều này xảy ra là thấp trong hầu hết các kịch bản 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. Kiểm tra các hướng dẫn điều tiết cho Androidcác nền tảng của Apple .

Bước tiếp theo

Ba chiến lược cơ bản này không có nghĩa là bao gồm một danh sách đầy đủ các cách để tải các giá trị cấu hình. Tùy thuộc vào nhu cầu của bạn, bạn có thể đưa ra các chiến lược phức tạp hơn nhiều như các bản cập nhật nền chức năng điều khiển được mô tả trong bản cập nhật Tuyên truyền trong thời gian thực .

Xem tham chiếu 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.