| 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 các khoá tham số và giá trị đã cập nhật ngay sau khi được phát hành 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. Với các bản cập nhật Remote Config theo thời gian thực, bạn có thể:
- Giảm thiểu 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 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 phù hợp với các thuộc tính người dùng Google Analytics cụ thể hoặc điều chỉnh linh hoạt độ khó của trò chơi cho các nhóm người chơi.
- Giảm phần phụ thuộc vào bản dựng và tăng năng suất của nhà phát triển: Sử dụng Remote Config tham số 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 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 các 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 đượ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, máy chủ sẽ giữ kết nối mở và đợi cho đến khi một phiên bản được phát hành trên máy chủ. Khi nhận được tín hiệu vô hiệu hoá, SDK máy khách sẽ tự động tìm nạp tín hiệu đó, sau đó gọi lệnh gọi lại trình nghe được đă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ế độ lưu vào bộ nhớ đệm hoặc chế độ cài đặt minimumFetchInterval. Kết nối máy khách-máy chủ được duy trì khi ứng dụng ở 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ỳ sự phụ thuộc nào vào các thư viện khác.
Nghe các bản cập nhật
Các bản cập nhật theo thời gian thực bổ sung cho Remote Config fetch lệnh gọi. Bạn nên gọi lệnh tìm nạp khi ứng dụng bắt đầu (hoặc vào một thời điểm nào đó trong vòng đời của ứng dụng) và 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 sau khi được phát hành trên máy chủ.
Để nghe các bản cập nhật, hãy gọi
onConfigUpdate,
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 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 tốt để 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 Firebase Remote Config Loading
Strategies để 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 real-time
Remote Config.
Kích hoạt có chọn lọc các giá trị tham số
Khi gọi onConfigUpdate, bạn có thể chờ thay đổi và kích hoạt thay đổi đó.
Lệnh gọi lại next đượ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ố đ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 updated_keys, 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 nội dung 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ụ: Remote Config thông tin cá nhân hoá)
- 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 khởi tạo khi bạn gọi phương thức fetch hoặc bằng
Cấu hình từ xa Remote Config) không dẫn đến bản cập nhật cho máy khách. Trong những trường hợp này, phương thức next hoặc quá trình hoàn thành sẽ không được gọi.
Thêm và xoá trình nghe
onConfigUpdate
là điểm truy cập chính cho Remote Config. Việc gọi trình nghe này lần đầu tiên 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ẽ 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à Unsubscribe.
Để ngừng nghe các bản cập nhật, bạn hãy gọi hàm Unsubscribe được trả về khi bạn đăng ký trình quan sát ban đầu. Nếu đây là trình nghe đang hoạt động duy nhất, thì việc gọi Unsubscribe sẽ đóng kết nối theo thời gian thực đến máy chủ.
Mặc dù bạn có thể tự động ngừng nghe các bản cập nhật, nhưng thường thì không cần. Thời gian thực Remote Config 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 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.