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 các giá trị và khoá 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ị tham số Remote Config. Với tính năng 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 từng bước triển khai các tính năng cho người dùng mục tiêu và thực hiện việc 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 bản dựng và tăng năng suất của nhà phát triển: Sử dụng các thông số Remote Config làm cờ tính năng để hiển thị chức năng cho nhóm phát triển và nhóm kiểm thử, đồng thời ẩn chức năng đó khỏi người dùng trong bản phát hành chính thức.

Để tìm hiểu thêm về các cách 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ệ máy khách-máy chủ 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 để luôn cập nhật cấu hình ứng dụng.

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

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 đang đượ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 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 tín hiệu vô hiệu hoá ngay lập tức. Nếu không có phiên bản mới hơn, ứng dụng sẽ giữ kết nối mở và chờ cho đến khi phiên bản mới được phát hành 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 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. 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 minimumFetchInterval hoặc lưu vào bộ nhớ đệm. Kết nối máy khách-máy chủ được duy trì trong khi ứng dụng chạy ở nền trước.

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

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

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 khởi động (hoặc đôi khi trong vòng đời của ứng dụng) và theo dõi 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 rằng bạn có các giá trị mới nhất ngay khi chúng được phát hành trên máy chủ.

Để nghe 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 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 nghe thông tin cập nhật từ máy chủ Remote Config. Để tìm hiểu thêm về mối quan hệ máy khách-máy chủ, hãy xem phần trước.

Lệnh gọi lại thường là nơi thích 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. Hãy xem Chiến lược tải Remote Config của 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.

Kích hoạt có chọn lọc các giá trị tham số

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 bao gồm những thông tin sau:

  • Thêm hoặc xoá khoá thông số
  • Các khoá tham 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 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 trình nghe theo thời gian thực trong một thành phần hiển thị cụ thể trong ứng dụng, bạn có thể kiểm tra xem các thông số liên quan đến thành phần hiển thị đó có thay đổi hay không trước khi kích hoạt.

Đôi khi, một lần 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 các trường hợp này, phương thức hoặc phương thức hoàn tất onUpdate sẽ không được gọi.

Thêm và xoá trình 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 sẽ mở kết nối đến 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, đa kênh hoá 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ề một "lượt đăng ký trình nghe", có một phương thức có tên là remove.

Để dừng nghe, hãy lưu trữ tham chiếu đến quá trình đăng ký trình nghe. Gọi remove để dừng nghe tại lượt đă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 nghe nội dung 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 nghe 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 Remote Config của Firebase để định cấu hình Remote Config và bắt đầu theo dõi nội dung cập nhật theo thời gian thực.