| Chọn nền tảng: | iOS+ Android Web Flutter Unity C++ |
Remote Config theo thời gian thực cho phép bạn nhận khoá và giá trị tham số mới 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 thông tin cập nhật theo thời gian thực về Remote Config, bạn có thể:
- Giảm thiểu rủi ro bằng cách triển khai dần các tính năng cho người dùng mục tiêu và thực hiện 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 phù hợp với Google Analytics thuộc tính người dùng cụ thể hoặc tự động điều chỉnh độ 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ố Remote Config làm cờ tính năng để hiển thị chức năng cho các nhóm phát triển và thử nghiệm, đồng thời ẩn chức năng đó với người dùng trong phiên bản chính thức.
Để biết thêm thông tin 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?.
Hướng dẫn này bao gồm các chủ đề sau:
- Mối quan hệ giữa máy khách và máy chủ hỗ trợ cập nhật theo thời gian thực.
- Cách hoạt động của chức năng theo thời gian thực trong SDK.
- Cách sử dụng tính năng cập nhật theo thời gian thực để luôn cập nhật cấu hình ứng dụng.
- Các phương pháp hay nhất Remote Config theo thời gian thực.
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 với phần phụ trợ Remote Config. Yêu cầu này bao gồm phiên bản cấu hình đượ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 máy chủ có phiên bản mới hơn, thì 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, thì ứng dụng sẽ duy trì kết nối và đợi cho đến khi một phiên bản được xuất bản trên máy chủ. Khi SDK ứng dụng nhận được tín hiệu vô hiệu hoá, SDK sẽ tự động tìm nạp tín hiệu đó, sau đó 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
bạn có thể thực hiện bằng SDK, nhưng bỏ qua mọi chế độ cài đặt hoặc lưu vào bộ nhớ đệm minimumFetchInterval. Kết nối máy khách-máy chủ được duy trì khi ứng dụng chạy ở nền trước.
Vì kết nối máy khách-máy 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ỳ phần phụ thuộc nào trên các thư viện khác.
Lắng 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 vào một thời điểm nào đó 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ủa Remote Config 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 các giá trị đó đượ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 có bản cập nhật Remote Config trong ứng dụng. Trong nền, lệnh gọi này bắt đầu theo dõi thông tin 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 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 của bạn. Hãy xem bài viết 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 đã được tìm nạp tự động và khi phiên bản mới đó có thay đổi đối với các giá trị tham số đang hoạt động 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á tham số đã thay đổi, khởi tạo bản cập nhật theo thời gian thực
và bao gồm những thông tin sau:
- Khoá tham số đã được thêm hoặc xoá
- 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 trình nghe theo thời gian thực trong một chế độ xem cụ thể trong ứng dụng, bạn có thể kiểm tra xem các tham số liên quan đến chế độ xem đó 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 hoặc quá trình 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. Khi bạn gọi trình nghe này lần đầu tiên trong vòng đời của ứng dụng, kết nối với phần phụ trợ sẽ được mở.
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 "lệnh đăng ký trình nghe", có một phương thức tên là remove.
Để ngừng nghe, hãy lưu trữ tệp đối chiếu vào bản đăng ký trình nghe. Gọi remove để dừng nghe tại lượt đăng ký này. Nếu đây là trình nghe duy nhất được đăng ký, 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 nghe thông tin cập nhật theo cách thủ công, nhưng việc này thường không cần thiết. Remote Config theo thời gian thực sẽ tự động ngừng theo dõi thông tin cập nhật khi ứng dụng chuyển sang chạy ở chế độ nền và khởi động lại khi ứng dụng chuyển sang 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 Firebase Remote Config để định cấu hình Remote Config và bắt đầu lắng nghe thông tin cập nhật theo thời gian thực.