Firebase Remote Config

Firebase

I. Tổng quan

Firebase Remote Config là một dịch vụ của Firebase giúp bạn quản lý và cập nhật cấu hình ứng dụng mà không cần phải phát hành phiên bản mới trên cửa hàng ứng dụng. Nó cho phép bạn điều chỉnh các giá trị cấu hình từ bảng điều khiển Firebase Console và gửi chúng đến ứng dụng của người dùng một cách linh hoạt.

Dưới đây là một số điểm quan trọng về Firebase Remote Config:

Cập Nhật Động:

Phân Loại Người Dùng:

Điều Kiện Kích Hoạt:

Integrations:

An Toàn và Bảo Mật:

Firebase Remote Config thường được sử dụng để điều chỉnh tính năng ứng dụng, cài đặt và trải nghiệm người dùng mà không cần phải phát hành một phiên bản mới. Điều này rất hữu ích khi bạn muốn thử nghiệm và tối ưu hóa ứng dụng của mình trong thời gian thực.

II. Firebase remote config hoạt động như thế nào?

1. Cơ chế Fetch và Active

Firebase Remote Config hoạt động dựa trên cơ chế lấy và cập nhật dữ liệu cấu hình từ máy chủ Firebase và đồng bộ nó với ứng dụng di động của người dùng thông qua SDK được cung cấp sẵn.

Fetch Dữ Liệu Từ Máy Chủ Firebase:

Lưu Trữ Dữ Liệu Tạm Thời (Cache):

Trong trường hợp bạn gọi hàm fetch khi thời gian expiration chưa hết, Firebase Remote Config sẽ kiểm tra xem đã đủ thời gian giữa các lần fetch hay chưa. Nếu thời gian giữa các lần fetch chưa đủ, nó sẽ trả về dữ liệu từ bộ nhớ cache mà không thực hiện lời gọi đến máy chủ Firebase để lấy dữ liệu mới.

Sử Dụng Dữ Liệu Cấu Hình Trong Ứng Dụng:

Tự Động Cập Nhật Dữ Liệu:

Quá trình này giúp ứng dụng linh hoạt hóa quy trình cập nhật cấu hình và giảm thiểu thời gian cần thiết để áp dụng các thay đổi. Cả quá trình fetch và lưu cache đều được thực hiện một cách bảo đảm hiệu suất và đồng bộ.

2. Cấu hình theo thời gian thực

Firebase Remote Config cung cấp khả năng cập nhật cấu hình ứng dụng theo thời gian thực thông qua một số tính năng linh hoạt. Khi bạn cấu hình Firebase Remote Config để cập nhật theo thời gian thực, điều này có một số khác biệt so với cách thông thường. Dưới đây là một số khác biệt khi bạn sử dụng tính năng cập nhật theo thời gian thực:

Cập Nhật Ngay Lập Tức (Instant Updates):

Polling Tự Động (Automatic Polling):

III. Tích hợp với Flutter

Tạo project Firebase Demo mới

Trên https://console.firebase.google.com/ đăng nhập vào tài khoản và tạo 1 project mới.

Add App iOS và Android tương ứng, sau đó download file cấu hình và copy vào project

Thêm các lib  vào project flutter

Khởi tạo tại main

Đối với Android:

Cần thêm: apply plugin: 'com.google.gms.google-services'

Và: classpath 'com.google.gms:google-services:4.3.13'

Truy cập console và Create Configuration

Sau đó publish change, là dữ liệu trên remote config đã sẵn sàng

1. Cơ chế fetch và active

Setup remote và lấy kết quả trong code, chạy debug và kiểm tra dữ liệu chúng ta thấy remoteConfig.getAll() trả về Map chứa các key và value:

2. Lấy dữ liệu theo thời gian thực

Sử dụng remoteConfig.onConfigUpdated.listen để lắng nghe event thay đổi, trên console thực hiện update dữ liệu và publish change, sau khi publish chúng ta bắt được thay đổi trong event như sau: