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


Remote Config theo thời gian thực cho phép bạn nhận khoá và giá trị tham số đã cập nhật ngay khi chúng được xuất bản trên máy chủ. Điều này cho phép bạn 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ị tham số Remote Config. Nhờ thông tin cập nhật Remote Config theo thời gian thực, bạn có thể:

  • Giảm rủi ro bằng cách triển khai các tính năng theo từng bước cho người dùng mục tiêu và thực hiện quy trì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à cung cấp ưu đãi cho những người dùng có Google Analytics thuộc tính người dùng cụ thể hoặc điều chỉnh độ khó của trò chơi một cách linh hoạt 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 hiệu suất của nhà phát triển: Sử dụng các tham số Remote Config làm cờ tính năng để cung cấp chức năng cho nhóm phát triển và kiểm thử của bạn, đồng thời ẩn chức năng này đối với người dùng trong quá trình 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 Remote Config, hãy xem bài viết Bạn có thể làm gì với Remote Config?

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ủ hỗ trợ các bản 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 tính năng cập nhật theo thời gian thực để giữ cho cấu hình ứng dụng của bạn luôn mới.

Kết nối theo thời gian thực giữa máy khách và máy chủ

Khi triển khai Remote Config 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ợ Remote Config. Yêu cầu này bao gồm phiên bản cấu hình hiện được lưu vào bộ nhớ đệm trên thiết bị. Máy chủ Remote Config theo thời gian thực sử dụng một thông báo vô hiệu hoá để 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 hơn, máy chủ sẽ gửi ngay tín hiệu vô hiệu hoá. Nếu không có phiên bản mới hơn, thì nó sẽ giữ kết nối mở và đợi cho đến khi có một phiên bản được xuất bản trê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 tín hiệu đó, sau đó gọi lệnh gọi lại của trình nghe đã đăng ký khi bạn mở kết nối trình nghe. Lệnh 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 bằng SDK, nhưng bỏ qua mọi chế độ cài đặt bộ nhớ đệm hoặc minimumFetchInterval. Kết nối máy chủ-máy khá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 giữa máy khách và máy chủ Cấu hình từ xa
Quy trình làm việc theo thời gian thực Remote Config giữa máy khách và máy chủ

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

Nghe thông tin cập nhật

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

Để theo dõi các bản cập nhật, hãy gọi addOnConfigUpdateListener,triển khai một lệnh gọi lại được gọi bất cứ khi nào có bản cập nhật Remote Config trong ứng dụng. Ở chế độ nền, lệnh gọi này bắt đầu theo dõi các bản cập nhật từ máy chủ Remote Config. Để 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à nơi phù hợp để sử dụng activate nhằm cung cấp các thông số cấu hình đã cập nhật cho ứng dụng của bạn. Hãy xem Firebase Remote Config Loading Strategies (Chiến lược tải Firebase) để biết thêm các chiến lược kích hoạt giá trị tham số khi bạn đang sử dụng Remote Config theo thời gian thực.

Chọn lọc để kích hoạt giá trị tham số

Khi gọi addOnConfigUpdateListener,, bạn có thể đợi 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 đã được tự động tìm nạp và khi phiên bản mới đó có các thay đổi đối với các giá trị tham số hiện đang được kích hoạt trong ứng dụng.

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

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

Nếu đang sử dụng một trình nghe theo thời gian thực trong 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ệnh tìm nạp (được bắt đầu khi bạn gọi phương thức fetch hoặc bằng Remote Config theo thời gian thực) không dẫn đến việc cập nhật cho ứng dụng. Trong những trường hợp này, phương thức onUpdate hoặc quá 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 Remote Config 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, bạn sẽ mở kết nối đến phần phụ trợ. Các lệnh gọi tiếp theo sẽ sử dụng lại cùng một kết nối, ghép kênh 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 này trả về một "đăng ký trình nghe", có một phương thức tên là remove.

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

Mặc dù bạn có thể dừng theo dõi các bản cập nhật theo cách thủ công, nhưng thường thì bạn không cần làm vậy. Remote Config theo thời gian thực sẽ tự động ngừ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 chuyển sang chế độ nền trước.

Các bước tiếp theo

Hãy xem bài viết Bắt đầu sử dụng Firebase Remote Config để định cấu hình Remote Config và bắt đầu nghe các bản cập nhật theo thời gian thực.