Tìm hiểu về Cấu hình từ xa theo thời gian thực


Cấu hình từ xa theo thời gian thực cho phép bạn nhận các khoá và giá trị thông số đã cập nhật ngay khi chúng được xuất bản trên máy chủ. Nhờ đó, bạn có thể nhanh chóng cập nhật mọi loại thuộc tính ứng dụng được kiểm soát bằng giá trị thông số Cấu hình từ xa. Khi cập nhật Cấu hình từ xa theo thời gian thực, bạn có thể:

  • Giảm rủi ro bằng cách triển khai dần các tính năng cho người dùng được nhắm đến và tiến hành khôi phục khẩn cấp nếu cần.
  • Tăng mức độ tương tác của người dùng bằng cách nhanh chóng tuỳ chỉnh trải nghiệm người dùng khi họ sử dụng ứng dụng. Ví dụ: bạn có thể cập nhật biểu ngữ và đưa ra ưu đãi cho những người dùng khớp với thuộc tính người dùng Google Analytics cụ thể hoặc điều chỉnh linh động độ khó của trò chơi cho các nhóm người chơi.
  • Giảm các phần phụ thuộc của bản dựng và tăng năng suất của nhà phát triển: Sử dụng các tham số Cấu hình từ xa làm cờ tính năng để hiển thị chức năng cho nhóm phát triển và kiểm thử, đồng thời ẩn chức năng này cho người dùng trong bản phát hành công khai.

Để tìm hiểu thêm về những cách bạn có thể sử dụng Cấu hình từ xa, hãy xem phần Bạn có thể làm gì với Cấu hình từ xa?

Trong hướng dẫn này, bạn sẽ:

  • Tìm hiểu thêm về mối quan hệ giữa máy khách và máy chủ có hỗ trợ cập nhật theo thời gian thực.
  • Tìm hiểu cách hoạt động của chức năng theo thời gian thực trong SDK.
  • Tìm hiểu cách sử dụng bản cập nhật theo thời gian thực để đảm bảo cấu hình ứng dụng luôn được cập nhật.

Kết nối máy khách-máy chủ theo thời gian thực

Khi triển khai Cấu hình từ xa theo thời gian thực trong ứng dụng, bạn sẽ tạo một trình nghe theo thời gian thực để mở kết nối HTTP đến phần phụ trợ Cấu hình từ xa. Yêu cầu đó bao gồm phiên bản cấu hình hiện đang được lưu vào bộ nhớ đệm trên thiết bị. Máy chủ Cấu hình từ xa theo thời gian thực sử dụng thông báo không hợp lệ để báo hiệu cho ứng dụng khi cần tìm nạp phiên bản mới hơn của cấu hình phía máy chủ.

Nếu có phiên bản mới, máy chủ sẽ gửi tín hiệu không hợp lệ ngay lập tức. Nếu không có phiên bản mới hơn, SDK sẽ giữ kết nối luôn mở và chờ cho đến khi phiên bản được xuất bản lên máy chủ. Khi nhận được tín hiệu vô hiệu hoá, SDK ứng dụng sẽ tự động tìm nạp rồi gọi lệnh gọi lại trình nghe đã đăng ký khi bạn mở kết nối trình nghe. Phương thức tìm nạp này tương tự như lệnh gọi tìm nạp mà bạn có thể thực hiện với SDK, nhưng bỏ qua mọi chế độ cài đặt minimumFetchInterval hoặc lưu vào bộ nhớ đệm. Kết nối giữa máy khách và máy chủ được duy trì trong khi ứng dụng chạy ở nền trước.

Quy trình làm việc theo thời gian thực trên máy chủ của máy khách Cấu hình từ xa

Vì kết nối máy khách-máy chủ được thực hiện qua HTTP, nên không yêu cầu bất kỳ phần phụ thuộc nào trên các thư viện khác.

Nghe thông tin cập nhật

Bản cập nhật theo thời gian thực bổ sung cho các lệnh gọi fetch của Cấu hình từ xa. Bạn nên gọi tính năng tìm nạp khi ứng dụng khởi động (hoặc đôi khi trong vòng đời của ứng dụng) và theo dõi thông tin cập nhật theo thời gian thực Cấu hình từ xa trong phiên của người dùng để đảm bảo rằng bạn có các giá trị mới nhất ngay khi được xuất bản trên máy chủ.

Để theo dõi thông tin cập nhật, hãy gọi addOnConfigUpdateListener, triển khai lệnh gọi lại được gọi bất cứ khi nào bản cập nhật Cấu hình từ xa bắt đầu trong ứng dụng. Để tìm hiểu thêm về mối quan hệ giữa máy khách và máy chủ, hãy xem phần trước.

Lệnh gọi lại thường là phương thức phù hợp để sử dụng activate nhằm cung cấp các tham số cấu hình đã cập nhật cho ứng dụng của bạn. Xem Chiến lược tải cấu hình từ xa Firebase để biết thêm các chiến lược giúp kích hoạt các giá trị thông số khi bạn đang sử dụng Cấu hình từ xa theo thời gian thực.

Kích hoạt các giá trị thông số một cách có chọn lọc

Khi gọi addOnConfigUpdateListener, bạn có thể chờ thay đổi và kích hoạt thay đổi.

Lệnh gọi lại onUpdate được gọi khi cả phiên bản mới của mẫu đều được tự động tìm nạp và khi phiên bản mới đó có thay đổi đối với giá trị thông số hiện được kích hoạt trong ứng dụng.

Các lệnh gọi lại này được gọi bằng tham số configUpdate. configUpdate chứa updatedKeys, là tập hợp các khoá thông số đã thay đổi bắt đầu quá trình cập nhật theo thời gian thực và bao gồm những nội dung sau:

  • Đã thêm hoặc xoá các khoá thông số
  • Khoá thông số có giá trị đã thay đổi
  • Các khoá thông số có siêu dữ liệu đã thay đổi (ví dụ: thông tin về hoạt động cá nhân hoá Cấu hình từ xa)
  • Các khoá tham số có nguồn giá trị đã thay đổi (ví dụ: giá trị mặc định trong ứng dụng đang cập nhật thành giá trị phía máy chủ)

Nếu đang sử dụng trình nghe theo thời gian thực ở một khung hiển thị cụ thể trong ứng dụng, bạn có thể kiểm tra xem các tham số liên quan đến khung hiển thị đó có thay đổi hay không trước khi kích hoạt.

Đôi khi, một lượt tìm nạp (được thực hiện khi bạn gọi phương thức fetch hoặc theo Cấu hình từ xa theo thời gian thực) không dẫn đến việc cập nhật ứng dụng. Trong những trường hợp này, phương thức onUpdate hoặc quy trình hoàn tất sẽ không được gọi.

Thêm và xoá người nghe

addOnConfigUpdateListener là điểm truy cập chính cho Cấu hình từ xa theo thời gian thực. Lần đầu tiên gọi trình nghe này trong vòng đời của ứng dụng sẽ mở mối kết nối với phần phụ trợ. Các lệnh gọi tiếp theo sử dụng lại cùng một kết nối, ghép thông báo vô hiệu hoá được mô tả trong kết nối máy khách-máy chủ theo thời gian thực.

Lệnh gọi trả về "đăng ký trình nghe", có phương thức là remove.

Để dừng nghe, hãy lưu trữ tham chiếu đến quá trình đăng ký trình nghe. Hãy gọi remove để dừng nghe quá trình đăng ký này. Nếu đó là trình nghe duy nhất đã đăng ký, việc gọi remove sẽ đóng kết nối theo thời gian thực đến máy chủ.

Mặc dù bạn có thể ngừng theo dõi các bản cập nhật theo cách thủ công, nhưng điều này thường không cần thiết. Cấu hình từ xa theo thời gian thực sẽ tự động dừng theo dõi các bản cập nhật khi ứng dụng chuyển sang chế độ nền và khởi động lại khi ứng dụng chạy ở nền trước.

Các bước tiếp theo

Hãy xem bài viết Bắt đầu sử dụng Cấu hình từ xa Firebase để định cấu hình Cấu hình từ xa và bắt đầu nghe thông tin cập nhật theo thời gian thực.