Firebase Remote Config là một dịch vụ đám mây để quản lý các tham số của ứng dụng di động, cho phép thay đổi hành vi, giao diện và nội dung mà không cần xuất bản phiên bản mới trên cửa hàng ứng dụng. Khác với cách tiếp cận truyền thống với các chu kỳ phát hành, Remote Config cho phép thay đổi bất kỳ tham số nào có thể tùy chỉnh trong thời gian thực thông qua bảng điều khiển Firebase hoặc REST API. Theo Google Firebase (2026), dịch vụ này được sử dụng trong 65% ứng dụng trên nền tảng Firebase cho việc thử nghiệm A/B, cá nhân hóa và quản lý tác nghiệp các tính năng phía máy khách.
Các điểm chính
Firebase Remote Config là một dịch vụ lưu trữ các cặp khóa-giá trị phía máy chủ Firebase và phân phối chúng đến các thiết bị khách theo yêu cầu hoặc theo lịch trình. Mỗi tham số có một tên (chuỗi), một giá trị (chuỗi, số, boolean hoặc JSON) và có thể được gắn với các điều kiện — các quy tắc xác định giá trị mà một người dùng cụ thể nhận được. Các điều kiện có thể kiểm tra phiên bản ứng dụng, ngôn ngữ thiết bị, khu vực, tỷ lệ phần trăm ngẫu nhiên và nhiều thuộc tính khác.
Kiến trúc Remote Config được xây dựng trên mô hình push-pull với ưu tiên pull. Máy khách định kỳ yêu cầu các giá trị hiện tại từ máy chủ (mặc định mỗi 12 giờ). Tuy nhiên, nhà phát triển có thể kích hoạt đồng bộ ngay lập tức trong mã hoặc thông qua bảng điều khiển Firebase (nút “Publish changes”). Sau khi xuất bản các thay đổi, máy chủ gửi thông báo push qua Firebase Cloud Messaging và ứng dụng khi nhận được có thể yêu cầu lại các tham số.
Gói miễn phí của Firebase Remote Config không có giới hạn về số lượng tham số hoặc yêu cầu, điều này làm nó khác biệt so với các dịch vụ Firebase khác. Hạn chế duy nhất là kích thước phản hồi không được vượt quá 800 KB (tổng cho tất cả các tham số). Điều này quá đủ cho một kịch bản điển hình: hầu hết các dự án sử dụng 10–50 tham số và tổng khối lượng của chúng hiếm khi vượt quá 100 KB.
Cơ chế chọn giá trị dựa trên mức ưu tiên của các điều kiện. Mỗi điều kiện đại diện cho một quy tắc (ví dụ: “phiên bản iOS > 15.0”). Remote Config kiểm tra các điều kiện theo thứ tự ưu tiên và trả về giá trị của điều kiện phù hợp đầu tiên. Nếu không có điều kiện nào phù hợp, giá trị mặc định sẽ được sử dụng. Cơ chế này cho phép tạo ra một hệ thống phân cấp các quy tắc: từ cụ thể nhất đến tổng quát nhất.
Quan trọng: thứ tự các điều kiện trong bảng điều khiển Firebase rất quan trọng. Nếu hai điều kiện có thể cùng phù hợp với một người dùng, điều kiện ở vị trí cao hơn trong danh sách sẽ thắng. Nên đặt các điều kiện cụ thể hơn (ví dụ: cho một phiên bản ứng dụng cụ thể) trên các điều kiện chung (ví dụ: “Tất cả người dùng iOS”). Thứ tự không chính xác có thể khiến một thay đổi mục tiêu không bao giờ được áp dụng.
Theo mặc định, Remote Config lưu vào bộ nhớ đệm các giá trị nhận được từ máy chủ trong 12 giờ. Điều này có nghĩa là sau khi xuất bản các thay đổi trong bảng điều khiển, ứng dụng sẽ thấy chúng không sớm hơn 12 giờ (hoặc sau lần gọi fetch rõ ràng tiếp theo). Thời gian bộ nhớ đệm tối thiểu có thể được đặt qua FirebaseRemoteConfigSettings(minimumFetchIntervalInSeconds: 3600) — cho môi trường sản xuất, nên sử dụng ít nhất 1 giờ để tránh các yêu cầu quá mức đến máy chủ và tiêu thụ dữ liệu người dùng.
Để kiểm tra các thay đổi trong quá trình phát triển, hãy sử dụng khoảng thời gian tối thiểu là 0 giây: FirebaseRemoteConfigSettings(minimumFetchIntervalInSeconds: 0). Ở chế độ này, mỗi lần gọi fetch sẽ tải các giá trị hiện tại từ máy chủ. Điều quan trọng là đừng quên quay lại khoảng thời gian sản xuất trước khi phát hành, nếu không mỗi lần khởi động ứng dụng sẽ liên hệ với máy chủ, làm tăng chi phí và tiêu thụ pin.
Tham số Remote Config là một biến có tên có thể nhận một trong nhiều giá trị tùy thuộc vào điều kiện. Các loại giá trị: chuỗi, số (double), boolean, đối tượng JSON (chuỗi được tuần tự hóa). Các tham số JSON thuận tiện cho việc truyền dữ liệu có cấu trúc mà không cần tạo nhiều tham số riêng biệt: ví dụ, một đối tượng với cài đặt chủ đề ứng dụng (primaryColor, backgroundColor, fontSize).
Điều kiện là các quy tắc logic kiểm tra các thuộc tính của người dùng hoặc thiết bị: phiên bản hệ điều hành (iOS, Android), phiên bản ứng dụng, quốc gia, ngôn ngữ, đối tượng người dùng (thuộc tính được xác định trong mã), tỷ lệ phần trăm ngẫu nhiên (cho thử nghiệm A/B). Các điều kiện có thể được kết hợp thông qua AND logic: ví dụ, “phiên bản ứng dụng >= 5.0” AND “quốc gia = Nga”. Mỗi tham số có thể có số lượng điều kiện không giới hạn, nhưng trong thực tế, 2–5 điều kiện được sử dụng.
Để cá nhân hóa, hãy sử dụng các thuộc tính người dùng (user properties) — các thuộc tính được đặt trong mã ứng dụng thông qua Firebase Analytics. Ví dụ: analytics.setUserProperty(“subscription_tier”, “premium”). Remote Config có thể kiểm tra thuộc tính này và cung cấp các giá trị cụ thể cho người dùng premium. Cá nhân hóa thông qua Remote Config không yêu cầu tạo điều kiện phía máy khách — tất cả logic tập trung trong bảng điều khiển đám mây.
| Loại điều kiện | Ví dụ | Kịch bản |
|---|---|---|
| Phiên bản hệ điều hành | iOS >= 16.0 | Bật tính năng mới chỉ cho phiên bản iOS mới |
| Phiên bản ứng dụng | app_version >= 3.2 | Hiển thị biểu ngữ cập nhật cho phiên bản cũ |
| Quốc gia | country == “JP” | Bản địa hóa nội dung cho Nhật Bản |
| Tỷ lệ phần trăm ngẫu nhiên | 10% người dùng | Thử nghiệm A/B cho 10% đối tượng |
| Thuộc tính người dùng | tier == “premium” | Bật tính năng premium |
Remote Config hỗ trợ hai mô hình phân khúc: dựa trên thuộc tính (điều kiện) và dựa trên thuộc tính Firebase Analytics (thuộc tính người dùng). Mô hình đầu tiên là tĩnh: một điều kiện kiểm tra một thuộc tính cố định không thay đổi trong một phiên hoặc phiên bản ứng dụng. Mô hình thứ hai là động: một thuộc tính có thể được đặt bất cứ lúc nào trong quá trình hoạt động của ứng dụng, cho phép phân khúc người dùng linh hoạt trong thời gian chạy.
Quan trọng: để sử dụng thuộc tính người dùng trong Remote Config, cần tích hợp Firebase Analytics. Yêu cầu này xuất phát từ việc Remote Config nhận dữ liệu người dùng từ SDK Analytics. Nếu không có Analytics, Remote Config chỉ hoạt động với các thuộc tính thiết bị (phiên bản hệ điều hành, phiên bản ứng dụng, quốc gia từ IP). Cá nhân hóa dựa trên hành vi người dùng (ví dụ: “đã thực hiện 5 giao dịch mua”) chỉ khả dụng thông qua Analytics.
Template Remote Config là tập đầy đủ của tất cả các tham số, điều kiện và giá trị của chúng. Firebase lưu trữ lịch sử thay đổi template và cho phép quay lại bất kỳ phiên bản nào trước đó trong vòng 90 ngày. Việc quản lý phiên bản rất quan trọng: nếu sau khi xuất bản các thay đổi, phát hiện lỗi (ví dụ: giá trị tham số không chính xác làm hỏng giao diện), bạn có thể ngay lập tức quay lại phiên bản làm việc trước đó thông qua bảng điều khiển Firebase.
Mỗi thay đổi template (xuất bản) tạo ra một phiên bản mới với số duy nhất. Bảng điều khiển Firebase cung cấp nhật ký thay đổi với thời gian, người dùng và mô tả (nếu được điền). Nên luôn thêm mô tả cho các bản xuất bản: “Đã bật luồng mới cho nhóm thử nghiệm iOS 10%”. Không có mô tả, sau một tháng sẽ không thể nhớ chính xác những gì đã được thay đổi trong phiên bản 42.
Triển khai Remote Config bao gồm ba bước: khởi tạo SDK với cài đặt (thời gian bộ nhớ đệm), xác định các tham số mặc định (giá trị trong trường hợp máy chủ không khả dụng) và logic áp dụng các giá trị nhận được. Các tham số mặc định là mạng lưới an toàn trong trường hợp thiết bị không thể kết nối với Firebase (không có internet, máy chủ không khả dụng). Nếu không có giá trị mặc định, ứng dụng sẽ sử dụng null, có thể dẫn đến sự cố.
Việc xác định giá trị mặc định được thực hiện theo hai cách: lập trình thông qua setDefaultsAsync hoặc thông qua tệp XML. Cách tiếp cận lập trình thuận tiện cho các dự án nhỏ: tất cả các giá trị được đặt trực tiếp trong mã một lần khi khởi động ứng dụng. Cách tiếp cận tệp tin được ưu tiên cho các dự án có hàng chục tham số: các giá trị được lưu trữ trong tài nguyên và có thể dễ dàng chỉnh sửa mà không cần biên dịch lại. Nên kết hợp: cài đặt cơ bản trong XML và cài đặt cụ thể bằng lập trình.
Tính bất đồng bộ là một tính năng chính của SDK Remote Config. Phương thức fetchAndActivate() gửi yêu cầu đến máy chủ trong một luồng nền mà không chặn giao diện người dùng. Sau khi tải hoàn tất, quá trình kích hoạt diễn ra — các giá trị tham số được cập nhật trong bộ nhớ của ứng dụng. Sử dụng các trình lắng nghe hoặc coroutine (trong Android/Kotlin) để theo dõi hoàn thành. Người dùng không nên thấy giao diện bị “giật” khi cập nhật tham số — tất cả các thay đổi phải được áp dụng mượt mà.
Ở lần khởi động đầu tiên, SDK Remote Config không chặn quá trình khởi tạo ứng dụng. Trong khi đồng bộ đang diễn ra, ứng dụng sử dụng các giá trị mặc định. Điều này có nghĩa là người dùng có thể thấy phiên bản giao diện cũ ở lần khởi động đầu tiên và sau khi hoàn thành fetch, phiên bản mới. Đối với các tham số quan trọng (ví dụ: serverUrl, mà khả năng hoạt động phụ thuộc vào), hãy sử dụng kích hoạt đồng bộ với chờ kết quả.
Thực hành được khuyến nghị: hiển thị màn hình tải với độ trễ tối thiểu nếu ứng dụng cần lấy các tham số hiện tại trước khi hiển thị màn hình đầu tiên. Trên màn hình tải, chạy fetchAndActivate với thời gian chờ 5 giây. Nếu các tham số không được tải trong vòng 5 giây, ứng dụng sẽ khởi động với các giá trị mặc định. Điều này ngăn chặn việc chờ đợi vô hạn khi không có internet.
Tham số JSON trong Remote Config cho phép truyền dữ liệu có cấu trúc dưới dạng một giá trị duy nhất. Ví dụ: một đối tượng với các kiểu chủ đề: {“primaryColor”: “#6200EE”, “borderRadius”: 8, “fontFamily”: “Roboto”}. Phía máy khách, JSON được phân tích và áp dụng vào giao diện. Ưu điểm: một tham số thay vì ba, cập nhật nguyên tử (cả ba trường được cập nhật đồng thời), bảng điều khiển gọn gàng. Nhược điểm: khó đọc trong bảng điều khiển Firebase (JSON hiển thị dưới dạng chuỗi).
Khuyến nghị: sử dụng tham số JSON cho các nhóm giá trị liên quan logic được cập nhật cùng nhau (chủ đề, cấu hình màn hình, cài đặt mạng). Đối với các tham số độc lập (feature toggle, serverUrl), hãy sử dụng các tham số chuỗi hoặc boolean riêng biệt — chúng dễ đọc hơn trong bảng điều khiển và dễ theo dõi các thay đổi trong lịch sử phiên bản template.
Thử nghiệm A/B là một tính năng tích hợp của Firebase Remote Config cho phép chia người dùng thành các nhóm, đặt các giá trị tham số khác nhau cho mỗi nhóm và đo lường tác động của các thay đổi lên các chỉ số được chọn. Khác với việc chia thủ công thông qua các điều kiện với random_percent, tích hợp với Firebase Analytics tự động thu thập thống kê cho mỗi nhóm thực nghiệm và hiển thị ý nghĩa thống kê của sự khác biệt.
Quy trình thử nghiệm A/B: nhà phát triển tạo một thực nghiệm trong bảng điều khiển Firebase (phần A/B Testing), chọn một tham số Remote Config, đặt giá trị cho nhóm đối chứng và nhóm thử nghiệm và xác định chỉ số mục tiêu (ví dụ: tỷ lệ chuyển đổi hoặc doanh thu). Firebase tự động phân phối người dùng vào các nhóm, thu thập dữ liệu và sau 2–4 tuần hiển thị kết quả với giá trị p. Thực nghiệm có thể được dừng sớm nếu kết quả rõ ràng.
Ý nghĩa thống kê là tiêu chí chính để dừng thực nghiệm. Firebase A/B Testing sử dụng phương pháp Frequentist và hiển thị giá trị p cho mỗi chỉ số. Ngưỡng ý nghĩa tiêu chuẩn là 0,05 (xác suất tin cậy 95%). Khi đạt được ngưỡng này nghiêng về một trong các nhóm, Firebase khuyến nghị dừng thực nghiệm và áp dụng các thay đổi cho tất cả người dùng. Nếu không đạt được ý nghĩa sau 4 tuần, thực nghiệm được coi là không kết luận.
Firebase A/B Testing hỗ trợ hai loại thực nghiệm: A/B cổ điển (so sánh hai giá trị của một tham số) và A/B/n đa biến (so sánh ba hoặc nhiều giá trị hơn). Các thử nghiệm đa biến yêu cầu nhiều người dùng hơn để đạt được ý nghĩa thống kê. Nên sử dụng A/B/n chỉ cho các tham số có 3–5 biến thể, trong đó mỗi biến thể khác cơ bản so với các biến thể khác.
Thời gian thực nghiệm phụ thuộc vào lưu lượng truy cập: đối với ứng dụng có 1000 người dùng hoạt động hàng ngày, thời gian tối thiểu là 2 tuần; đối với ứng dụng có 100.000 người dùng, 3–5 ngày. Firebase tự động tính toán thời gian cần thiết và cảnh báo nếu lưu lượng hiện tại không đủ để phát hiện sự khác biệt đáng kể. Quan trọng: không dừng thực nghiệm trước thời gian dự kiến, ngay cả khi kết quả có vẻ rõ ràng — đây là lỗi “peeking” kinh điển.
Các chỉ số mục tiêu trong Firebase A/B Testing được xác định dựa trên các sự kiện Firebase Analytics. Các chỉ số tiêu chuẩn có sẵn: người dùng hoạt động hàng ngày, doanh thu, tỷ lệ chuyển đổi, giữ chân người dùng, mức độ tương tác. Bạn cũng có thể tạo một chỉ số tùy chỉnh dựa trên bất kỳ sự kiện Analytics nào với các tham số bổ sung. Ví dụ, chỉ số “Tỷ lệ người dùng đến được màn hình thanh toán” được tạo từ sự kiện screen_view với tham số screen_name = “payment”.
Nên chọn một chỉ số chính làm cơ sở cho quyết định về sự thành công của thực nghiệm và 2–3 chỉ số phụ để phân tích thêm. Việc chọn nhiều chỉ số chính làm tăng nguy cơ kết quả dương tính giả (vấn đề so sánh nhiều). Nếu chỉ số chính được chọn không cho thấy sự cải thiện có ý nghĩa thống kê, thực nghiệm được coi là không thành công, ngay cả khi các chỉ số phụ đã cải thiện.
Hãy xem xét tích hợp Remote Config trong một ứng dụng Android bằng Kotlin. Các ví dụ bao gồm khởi tạo SDK với thời gian bộ nhớ đệm tùy chỉnh, lấy các tham số thuộc các loại khác nhau, triển khai điều kiện A/B phía máy khách và xử lý lỗi khi máy chủ không khả dụng. Tất cả mã chạy trong hoạt động chính hoặc lớp Application để các tham số có sẵn ngay từ khi khởi động ứng dụng.
Trước khi sử dụng, thêm phụ thuộc: implementation(“com.google.firebase:firebase-config”) thông qua Firebase BOM. Đảm bảo Firebase Analytics cũng được kết nối, vì Remote Config sử dụng Analytics để truyền thuộc tính người dùng.
Ví dụ đầu tiên là thiết lập Remote Config cơ bản với khoảng thời gian fetch tối thiểu là 1 giờ cho sản xuất. SDK được khởi tạo trong phương thức onCreate của lớp Application. Sau fetchAndActivate, giá trị của tham số welcome_message được kiểm tra, tham số này có thể được thay đổi từ xa cho màn hình chào mừng.
class MainApp : Application() {
override fun onCreate() {
super.onCreate()
val remoteConfig = Firebase.remoteConfig
val settings = FirebaseRemoteConfigSettings.Builder()
.setMinimumFetchIntervalInSeconds(3600)
.build()
remoteConfig.setConfigSettingsAsync(settings)
remoteConfig.setDefaultsAsync(
R.xml.remote_config_defaults
)
remoteConfig.fetchAndActivate()
.addOnCompleteListener { task ->
if (task.isSuccessful) {
val welcomeMsg = remoteConfig
.getString("welcome_message")
Log.d("RemoteConfig", welcomeMsg)
}
}
}
}
Trong ví dụ, setDefaultsAsync tải các giá trị mặc định từ tệp XML res/xml/remote_config_defaults.xml. Nếu fetch thất bại (không có mạng, máy chủ không khả dụng), ứng dụng sẽ sử dụng các giá trị này. Tệp XML chứa các tên tham số giống như trong bảng điều khiển Firebase: <entry key=“welcome_message”>Xin chào!</entry>. Nên luôn có các giá trị mặc định cho tất cả các tham số Remote Config.
Ví dụ thứ hai là một feature toggle (cờ tính năng). Tham số new_checkout_enabled thuộc loại boolean. Nếu true, ứng dụng hiển thị màn hình thanh toán mới; nếu false, màn hình cũ. Feature toggle là kịch bản Remote Config phổ biến nhất: thay đổi chỉ ảnh hưởng đến một tham số, không yêu cầu sửa đổi logic và có thể được hoàn tác ngay lập tức.
fun isFeatureEnabled(paramName: String): Boolean {
return Firebase.remoteConfig
.getBoolean(paramName)
}
// Sử dụng trong activity
if (isFeatureEnabled("new_checkout_enabled")) {
navigateToNewCheckout()
} else {
navigateToLegacyCheckout()
}
Hàm isFeatureEnabled đóng gói quyền truy cập vào Remote Config và có thể dễ dàng được kiểm tra thông qua mock. Đối với feature toggles, nên sử dụng quy ước đặt tên: tiền tố feature_, ff_ hoặc flag_ để mục đích của tham số được rõ ràng ngay trong bảng điều khiển Firebase. Ví dụ: feature_new_onboarding, ff_dark_mode, flag_v3_api. Không sử dụng tham số cờ để bật/tắt trong hơn 3 tháng — tích tụ các cờ chết làm phức tạp việc bảo trì.
Ví dụ thứ ba là lấy tham số JSON với cài đặt chủ đề ứng dụng. Tham số app_theme chứa một đối tượng JSON với primaryColor, borderRadius và fontFamily. Phía máy khách, JSON được phân tích bằng Gson hoặc kotlinx.serialization và các giá trị được áp dụng vào giao diện. Cách tiếp cận này cho phép các nhà thiết kế thay đổi chủ đề ứng dụng mà không cần sự tham gia của nhà phát triển và không cần phát hành.
data class AppTheme(
val primaryColor: String = "#6200EE",
val borderRadius: Int = 8,
val fontFamily: String = "Roboto"
)
fun getAppTheme(): AppTheme {
val json = Firebase.remoteConfig
.getString("app_theme")
return Gson().fromJson(json, AppTheme::class.java)
}
Làm việc với JSON đòi hỏi sự cẩn thận: nếu JSON trong bảng điều khiển Firebase không chính xác (ví dụ: thiếu dấu phẩy), việc phân tích sẽ thất bại và ứng dụng sẽ nhận được các giá trị mặc định thay vì chủ đề hiện tại. Nên xác thực các chuỗi JSON trước khi xuất bản thông qua trình xác thực JSON. Đối với sản xuất, thêm try-catch trong quá trình phân tích và ghi lại lỗi thông qua Firebase Crashlytics.
Firebase Remote Config là một công cụ mạnh mẽ, nhưng nếu sử dụng không đúng cách có thể dẫn đến các vấn đề về hiệu suất, khả năng dự đoán hành vi và bảo mật. Hãy xem xét các phương pháp chính sẽ giúp tránh các lỗi phổ biến khi làm việc với dịch vụ và các giới hạn cần xem xét khi thiết kế kiến trúc ứng dụng.
Tránh dữ liệu nhạy cảm — Remote Config không được thiết kế để lưu trữ bí mật (khóa API, token, mật khẩu). Tất cả các giá trị tham số đều có thể truy cập được từ mã máy khách và có thể được trích xuất từ bộ nhớ ứng dụng. Đối với dữ liệu bảo mật, hãy sử dụng Cloud Functions với xác thực phía máy chủ hoặc Secret Manager. Chỉ lưu trữ các tham số công khai trong Remote Config: văn bản, cờ, cài đặt giao diện, URL của các điểm cuối công khai.
Kiểm tra mọi thay đổi trước khi xuất bản cho toàn bộ đối tượng. Sử dụng thử nghiệm A/B hoặc xuất bản trên một tỷ lệ nhỏ (1–5% người dùng) để xác minh rằng giá trị mới không gây ra sự cố hoặc làm hỏng hiển thị. Remote Config không có môi trường thử nghiệm — tất cả các thay đổi được xuất bản ngay lập tức vào sản xuất. Cách duy nhất để xuất bản an toàn là triển khai từ từ.
Giới hạn nền tảng: số lượng tham số tối đa — 2000 (cho tất cả loại), kích thước tối đa của một giá trị — 256 KB, tổng kích thước phản hồi của máy chủ — 800 KB. Số lượng thuộc tính người dùng có thể được sử dụng trong Remote Config bị giới hạn ở 25. Khoảng thời gian fetch tối thiểu là 0 giây (để gỡ lỗi), nhưng sử dụng quá mức có thể dẫn đến vượt quá hạn ngạch Cloud Functions (30.000 yêu cầu mỗi phút cho mỗi dự án).
Câu hỏi thường gặp
Có, khi không có mạng, Remote Config sử dụng các giá trị mặc định được đặt trong mã hoặc tệp XML. Sau khi kết nối được khôi phục, SDK sẽ tự động thực hiện fetch ở lần gọi tiếp theo hoặc khi khoảng thời gian bộ nhớ đệm hết hạn. Ứng dụng sẽ không bao giờ bị sự cố do thiếu Remote Config nếu các giá trị mặc định được đặt đúng cách.
Theo mặc định — lên đến 12 giờ (khoảng thời gian bộ nhớ đệm). Để tăng tốc, hãy sử dụng thông báo push FCM qua nút “Publish changes” trong bảng điều khiển: ứng dụng nhận được tin nhắn và thực hiện fetch ngay lập tức. Khoảng thời gian fetch tối thiểu để tăng tốc có thể được đặt qua minimumFetchIntervalInSeconds.
Miễn phí — lên đến 2000 tham số cho mỗi dự án, yêu cầu không giới hạn trên gói Spark. Giới hạn 2000 tham số là mềm: Firebase không chặn việc tạo mới, nhưng hiệu suất có thể giảm. Đối với các dự án có hàng ngàn tham số, nên sử dụng các tham số JSON có cấu trúc.
Có, Firebase Remote Config có plugin Flutter chính thức: firebase_remote_config. API hoàn toàn tương thích với SDK Android và iOS gốc. Plugin hỗ trợ tất cả các loại tham số, fetchAndActivate, trình lắng nghe thay đổi và tích hợp với Firebase Analytics cho thử nghiệm A/B.
Firebase Feature Flags là một dịch vụ riêng biệt để quản lý tính năng với hỗ trợ cho đối tượng mục tiêu và thực nghiệm. Remote Config là dịch vụ tổng quát hơn cho bất kỳ tham số nào, bao gồm cả feature toggles. Feature Flags cung cấp giao diện người dùng chuyên dụng và tích hợp với Cloud Run, nhưng Remote Config vẫn là công cụ chính cho hầu hết các kịch bản.
Tổng kết
Chúng tôi sẽ phát triển ứng dụng di động chìa khóa trao tay
IT Sectr tạo các ứng dụng iOS và Android cho các công ty khởi nghiệp và doanh nghiệp từ năm 2017. Chúng tôi sẽ tư vấn và đề xuất giải pháp tốt nhất cho bạn.
Đọc thêm