Bạn có thể định cấu hình mẫu cho cả trường hợp sử dụng máy khách và máy chủ. Các mẫu ứng dụng được phân phát cho mọi phiên bản ứng dụng triển khai SDK Firebase cho Remote Config, bao gồm cả ứng dụng Android, Apple, Web, Unity, Flutter và C++. Các tham số và giá trị Remote Config từ các mẫu dành riêng cho máy chủ được phân phát cho các triển khai Remote Config (bao gồm cả Cloud Run và Cloud Functions) sử dụng các môi trường máy chủ sau:
- Firebase Admin Node.js SDK phiên bản 12.1.0 trở lên
- Firebase Admin Python SDK phiên bản 6.7.0 trở lên
Khi sử dụng bảng điều khiển Firebase hoặc Remote Config API phần phụ trợ, bạn sẽ xác định một hoặc nhiều thông số (cặp khoá-giá trị) và cung cấp các giá trị mặc định trong ứng dụng cho những thông số đó. Bạn có thể ghi đè các giá trị mặc định trong ứng dụng bằng cách xác định các giá trị tham số. Khoá tham số và giá trị tham số là các chuỗi, nhưng giá trị tham số có thể được truyền dưới dạng các kiểu dữ liệu khác khi bạn sử dụng các giá trị này trong ứng dụng của mình.
Khi sử dụng bảng điều khiển Firebase, Admin SDK hoặc Remote Config REST API, bạn có thể tạo các giá trị mặc định mới cho các thông số, cũng như các giá trị có điều kiện được dùng để nhắm đến các nhóm phiên bản ứng dụng. Mỗi lần bạn cập nhật cấu hình trong bảng điều khiển Firebase, Firebase sẽ tạo và xuất bản một phiên bản mới của mẫu Remote Config. Phiên bản trước đó sẽ được lưu trữ, cho phép bạn truy xuất hoặc khôi phục khi cần. Bạn có thể sử dụng các thao tác này trong bảng điều khiển Firebase, Firebase Admin SDK và REST API, đồng thời được mô tả chi tiết hơn trong phần Quản lý các phiên bản mẫu Remote Config.
Hướng dẫn này giải thích các tham số, điều kiện, quy tắc, giá trị có điều kiện và cách các giá trị tham số khác nhau được ưu tiên trên phần phụ trợ Remote Config và trong ứng dụng của bạn. Hướng dẫn này cũng cung cấp thông tin chi tiết về các loại quy tắc được dùng để tạo điều kiện.
Điều kiện, quy tắc và giá trị có điều kiện
Một điều kiện được dùng để nhắm đến một nhóm các phiên bản ứng dụng. Điều kiện bao gồm một hoặc nhiều quy tắc mà tất cả đều phải đánh giá thành true
thì điều kiện mới đánh giá thành true
cho một phiên bản ứng dụng nhất định. Nếu giá trị của một quy tắc là không xác định (ví dụ: khi không có giá trị nào), thì quy tắc đó sẽ đánh giá thành false
.
Ví dụ: bạn có thể tạo một tham số xác định tên mô hình và chuỗi phiên bản của mô hình ngôn ngữ lớn (LLM), đồng thời phân phát các phản hồi từ nhiều mô hình dựa trên các quy tắc tín hiệu tuỳ chỉnh. Trong trường hợp này, bạn có thể sử dụng phiên bản mô hình ổn định làm giá trị mặc định để phân phát hầu hết các yêu cầu và sử dụng tín hiệu tuỳ chỉnh để sử dụng mô hình thử nghiệm nhằm phản hồi các yêu cầu của ứng dụng thử nghiệm.
Một tham số có thể có nhiều giá trị có điều kiện sử dụng các điều kiện khác nhau và các tham số có thể dùng chung điều kiện trong một dự án. Trong thẻ Thông số của bảng điều khiển Firebase, bạn có thể xem tỷ lệ tìm nạp cho các giá trị có điều kiện của từng thông số. Chỉ số này cho biết tỷ lệ phần trăm yêu cầu nhận được từng giá trị trong 24 giờ qua.
Mức độ ưu tiên của giá trị tham số
Một thông số có thể có nhiều giá trị có điều kiện được liên kết với thông số đó. Các quy tắc sau đây xác định giá trị nào được tìm nạp từ mẫu Remote Config và giá trị nào được dùng trong một phiên bản ứng dụng nhất định tại một thời điểm cụ thể:
Trước tiên, các giá trị có điều kiện sẽ được áp dụng cho mọi điều kiện đánh giá thành
true
đối với một yêu cầu nhất định của máy khách. Nếu nhiều điều kiện được đánh giá làtrue
, thì điều kiện đầu tiên (trên cùng) xuất hiện trong giao diện người dùng bảng điều khiển Firebase sẽ được ưu tiên và các giá trị có điều kiện liên kết với điều kiện đó sẽ được cung cấp khi một ứng dụng tìm nạp các giá trị từ phần phụ trợ. Bạn có thể thay đổi mức độ ưu tiên của các điều kiện bằng cách kéo và thả các điều kiện trong thẻ Conditions (Điều kiện).Nếu không có giá trị có điều kiện nào có điều kiện đánh giá thành
true
, thì giá trị mặc định của Remote Config sẽ được cung cấp khi một ứng dụng tìm nạp các giá trị từ phần phụ trợ. Nếu một tham số không tồn tại ở phần phụ trợ hoặc nếu giá trị mặc định được đặt thành Sử dụng giá trị mặc định trong ứng dụng, thì sẽ không có giá trị nào được cung cấp cho tham số đó khi một ứng dụng tìm nạp các giá trị.
Trong ứng dụng của bạn, các giá trị thông số được trả về bằng các phương thức get
theo danh sách ưu tiên sau
- Nếu một giá trị được tìm nạp từ phần phụ trợ rồi được kích hoạt, thì ứng dụng sẽ sử dụng giá trị được tìm nạp. Các giá trị thông số đã kích hoạt sẽ được duy trì.
Nếu không có giá trị nào được tìm nạp từ phần phụ trợ hoặc nếu các giá trị được tìm nạp từ phần phụ trợ Remote Config chưa được kích hoạt, thì ứng dụng sẽ sử dụng giá trị mặc định trong ứng dụng.
Để biết thêm thông tin về cách lấy và đặt giá trị mặc định, hãy xem phần Tải các giá trị mặc định của mẫu Remote Config xuống.
Nếu bạn chưa đặt giá trị mặc định trong ứng dụng, thì ứng dụng sẽ sử dụng giá trị loại tĩnh (chẳng hạn như
0
choint
vàfalse
choboolean
).
Hình ảnh này tóm tắt cách các giá trị tham số được ưu tiên trong phần phụ trợ Remote Config và trong ứng dụng của bạn:
Kiểu dữ liệu giá trị thông số
Remote Config cho phép bạn chọn một kiểu dữ liệu cho từng tham số và xác thực tất cả các giá trị Remote Config theo kiểu đó trước khi cập nhật mẫu. Loại dữ liệu được lưu trữ và trả về theo yêu cầu getRemoteConfig
.
Các loại dữ liệu được hỗ trợ là:
String
Boolean
Number
JSON
Trong giao diện người dùng bảng điều khiển Firebase, bạn có thể chọn loại dữ liệu trong trình đơn thả xuống bên cạnh khoá tham số. Trong REST API, bạn có thể đặt các loại bằng cách sử dụng trường value_type
trong đối tượng tham số.
Nhóm tham số
Remote Config cho phép bạn nhóm các tham số lại với nhau để có giao diện người dùng ngăn nắp hơn và nâng cao khả năng sử dụng.
Ví dụ: giả sử bạn cần bật hoặc tắt 3 loại uỷ quyền khác nhau trong khi triển khai một tính năng đăng nhập mới. Với Remote Config, bạn có thể tạo 3 tham số để bật các loại bạn muốn, rồi sắp xếp chúng trong một nhóm có tên là "Đăng nhập mới" mà không cần thêm tiền tố hoặc sắp xếp đặc biệt.
Bạn có thể tạo các nhóm tham số bằng bảng điều khiển Firebase hoặc API REST Remote Config. Mỗi nhóm tham số bạn tạo đều có một tên riêng biệt trong mẫu Remote Config của bạn. Khi tạo nhóm tham số, hãy lưu ý:
- Bạn chỉ có thể thêm các thông số vào một nhóm tại một thời điểm và khoá thông số vẫn phải là duy nhất trên tất cả các thông số.
- Tên nhóm tham số chỉ được có tối đa 256 ký tự.
- Nếu bạn sử dụng cả REST API và bảng điều khiển Firebase, hãy đảm bảo rằng mọi logic REST API đều được cập nhật để xử lý các nhóm tham số khi phát hành.
Tạo hoặc sửa đổi nhóm tham số bằng bảng điều khiển Firebase
Bạn có thể nhóm các tham số trong thẻ Parameters (Tham số) của bảng điều khiển Firebase. Cách tạo hoặc sửa đổi một nhóm:
- Chọn Quản lý nhóm.
- Chọn hộp đánh dấu cho các tham số bạn muốn thêm rồi chọn Di chuyển đến nhóm.
- Chọn một nhóm hiện có hoặc tạo một nhóm mới bằng cách nhập tên và nội dung mô tả, rồi chọn Tạo nhóm mới. Sau khi bạn lưu một nhóm, bạn có thể xuất bản nhóm đó bằng nút Xuất bản thay đổi.
Các loại quy tắc điều kiện
Bảng điều khiển Firebase hỗ trợ các loại quy tắc sau. Các tính năng tương đương có trong API REST Remote Config, như được trình bày chi tiết trong tài liệu tham khảo về biểu thức có điều kiện.
Loại quy tắc | (Các) toán tử | Giá trị | Lưu ý |
Ứng dụng | == | Chọn trong danh sách Mã ứng dụng cho các ứng dụng được liên kết với dự án Firebase của bạn. | Khi thêm một ứng dụng vào Firebase, bạn sẽ nhập mã nhận dạng gói hoặc tên gói Android để xác định một thuộc tính được hiển thị dưới dạng Mã ứng dụng trong các quy tắc Remote Config.
Sử dụng thuộc tính này như sau:
|
Phiên bản ứng dụng |
Đối với giá trị chuỗi: khớp chính xác, chứa, không chứa, chứa biểu thức chính quy Đối với giá trị số: <, <=, =, !=, >, >= |
Chỉ định(các) phiên bản ứng dụng mà bạn muốn nhắm đến. Trước khi sử dụng quy tắc này, bạn phải sử dụng quy tắc Mã ứng dụng để chọn một ứng dụng Android/Apple được liên kết với dự án Firebase của bạn. |
Đối với các nền tảng của Apple: Sử dụng CFBundleShortVersionString của ứng dụng. Lưu ý: Đảm bảo rằng ứng dụng Apple của bạn đang sử dụng SDK của Firebase cho các nền tảng Apple phiên bản 6.24.0 trở lên, vì CFBundleShortVersionString không được gửi trong các phiên bản trước đó (xem ghi chú phát hành). Đối với Android: Sử dụng versionName của ứng dụng. Các chuỗi so sánh cho quy tắc này có phân biệt chữ hoa chữ thường. Khi sử dụng toán tử khớp chính xác, chứa, không chứa hoặc chứa biểu thức chính quy, bạn có thể chọn nhiều giá trị. Khi sử dụng toán tử chứa biểu thức chính quy, bạn có thể tạo biểu thức chính quy ở định dạng RE2. Biểu thức chính quy của bạn có thể khớp với toàn bộ hoặc một phần của chuỗi phiên bản mục tiêu. Bạn cũng có thể sử dụng các neo ^ và $ để khớp với phần đầu, phần cuối hoặc toàn bộ chuỗi mục tiêu. |
Số bản dựng |
Đối với giá trị chuỗi: khớp chính xác, chứa, không chứa, biểu thức chính quy Đối với giá trị số: =, ≠, >, ≥, <, ≤ |
Chỉ định(các) bản dựng mà bạn muốn nhắm đến cho ứng dụng của mình. Trước khi sử dụng quy tắc này, bạn phải sử dụng quy tắc Mã ứng dụng để chọn một ứng dụng Apple hoặc Android được liên kết với dự án Firebase của bạn. |
Toán tử này chỉ dành cho ứng dụng Apple và Android. Tham số này tương ứng với CFBundleVersion của ứng dụng cho Apple và versionCode cho Android. Việc so sánh chuỗi cho quy tắc này có phân biệt chữ hoa chữ thường. Khi sử dụng toán tử khớp chính xác, chứa, không chứa hoặc chứa biểu thức chính quy, bạn có thể chọn nhiều giá trị. Khi sử dụng toán tử chứa biểu thức chính quy, bạn có thể tạo biểu thức chính quy ở định dạng RE2. Biểu thức chính quy của bạn có thể khớp với toàn bộ hoặc một phần của chuỗi phiên bản mục tiêu. Bạn cũng có thể sử dụng các điểm neo ^ và $ để khớp với phần đầu, phần cuối hoặc toàn bộ chuỗi mục tiêu. |
Nền tảng | == | iOS Android Web |
|
Hệ điều hành | == |
Chỉ định(các) hệ điều hành cần nhắm đến. Trước khi sử dụng quy tắc này, bạn phải sử dụng quy tắc Mã ứng dụng để chọn một Ứng dụng web được liên kết với dự án Firebase của bạn. |
Quy tắc này đánh giá thành true cho một phiên bản ứng dụng Web nhất định nếu hệ điều hành và phiên bản của hệ điều hành đó khớp với một giá trị mục tiêu trong danh sách được chỉ định.
|
Trình duyệt | == |
Chỉ định(các) trình duyệt để nhắm đến. Trước khi sử dụng quy tắc này, bạn phải sử dụng quy tắc Mã ứng dụng để chọn một Ứng dụng web được liên kết với dự án Firebase của bạn. |
Quy tắc này đánh giá thành true cho một phiên bản ứng dụng Web nhất định nếu trình duyệt và phiên bản của trình duyệt đó khớp với một giá trị mục tiêu trong danh sách được chỉ định.
|
Danh mục thiết bị | là, không phải là | di động | Quy tắc này đánh giá xem thiết bị truy cập vào ứng dụng web của bạn là thiết bị di động hay không phải thiết bị di động (máy tính hoặc bảng điều khiển). Loại quy tắc này chỉ dành cho ứng dụng web. |
Ngôn ngữ | nằm trong | Chọn một hoặc nhiều ngôn ngữ. | Quy tắc này đánh giá thành true cho một phiên bản ứng dụng nhất định nếu phiên bản ứng dụng đó được cài đặt trên một thiết bị sử dụng một trong các ngôn ngữ được liệt kê.
|
Quốc gia/Vùng | nằm trong | Chọn một hoặc nhiều khu vực hoặc quốc gia. | Quy tắc này đánh giá thành true cho một phiên bản ứng dụng nhất định nếu phiên bản đó ở bất kỳ khu vực hoặc quốc gia nào trong danh sách. Mã quốc gia của thiết bị được xác định bằng địa chỉ IP của thiết bị trong yêu cầu hoặc mã quốc gia do Firebase Analytics xác định (nếu dữ liệu Analytics được chia sẻ với Firebase).
|
Đối tượng người dùng | Có ít nhất một | Chọn một hoặc nhiều đối tượng trong danh sách đối tượng Google Analytics mà bạn đã thiết lập cho dự án của mình. | Quy tắc này yêu cầu phải có quy tắc Mã ứng dụng để chọn một ứng dụng được liên kết với dự án Firebase của bạn. Lưu ý: Vì nhiều đối tượng Analytics được xác định bằng sự kiện hoặc thuộc tính người dùng (có thể dựa trên hành động của người dùng ứng dụng), nên có thể mất một khoảng thời gian để quy tắc Người dùng thuộc đối tượng có hiệu lực đối với một phiên bản ứng dụng nhất định. |
Thuộc tính người dùng |
Đối với các giá trị chuỗi:
chứa, không chứa, khớp chính xác, chứa biểu thức chính quy Đối với các giá trị số: =, ≠, >, ≥, <, ≤ Lưu ý: Trên máy khách, bạn chỉ có thể đặt các giá trị chuỗi cho thuộc tính người dùng. Đối với các điều kiện sử dụng toán tử dạng số, Remote Config sẽ chuyển đổi giá trị của thuộc tính người dùng tương ứng thành số nguyên/số thực. |
Chọn trong danh sách các thuộc tính người dùng Google Analytics hiện có. | Để tìm hiểu cách sử dụng thuộc tính người dùng để tuỳ chỉnh ứng dụng cho các phân khúc rất cụ thể trong cơ sở người dùng của bạn, hãy xem
Remote Config và thuộc tính người dùng.
Để tìm hiểu thêm về thuộc tính người dùng, hãy xem các hướng dẫn sau: Khi sử dụng toán tử khớp chính xác, chứa, không chứa hoặc chứa biểu thức chính quy, bạn có thể chọn nhiều giá trị. Khi sử dụng toán tử chứa biểu thức chính quy, bạn có thể tạo biểu thức chính quy ở định dạng RE2. Biểu thức chính quy của bạn có thể khớp với toàn bộ hoặc một phần của chuỗi phiên bản mục tiêu. Bạn cũng có thể sử dụng các điểm neo ^ và $ để khớp với phần đầu, phần cuối hoặc toàn bộ chuỗi mục tiêu. Lưu ý: Thuộc tính người dùng được thu thập tự động không có sẵn khi bạn tạo điều kiện Remote Config. |
Người dùng trong tỷ lệ phần trăm ngẫu nhiên | Thanh trượt (trong bảng điều khiển của Firebase. API REST sử dụng các toán tử <= , > và between ).
|
0-100 |
Sử dụng trường này để áp dụng thay đổi cho một mẫu ngẫu nhiên của các phiên bản ứng dụng (với kích thước mẫu nhỏ đến mức 0,0001%), bằng cách sử dụng tiện ích thanh trượt để phân đoạn người dùng (các phiên bản ứng dụng) được xáo trộn ngẫu nhiên thành các nhóm. Mỗi phiên bản ứng dụng được liên kết liên tục với một số nguyên hoặc số thập phân ngẫu nhiên, theo một giá trị ban đầu được xác định trong dự án đó. Một quy tắc sẽ sử dụng khoá mặc định (hiển thị là Chỉnh sửa giá trị ban đầu trong bảng điều khiển Firebase) trừ phi bạn sửa đổi giá trị ban đầu. Bạn có thể trả lại một quy tắc để sử dụng khoá mặc định bằng cách xoá trường Seed. Để giải quyết nhất quán các phiên bản ứng dụng giống nhau trong phạm vi phần trăm nhất định, hãy sử dụng cùng một giá trị ban đầu trên các điều kiện. Hoặc chọn một nhóm phiên bản ứng dụng mới được chỉ định ngẫu nhiên cho một phạm vi tỷ lệ phần trăm nhất định bằng cách chỉ định một giá trị ban đầu mới. Ví dụ: để tạo 2 điều kiện có liên quan, mỗi điều kiện áp dụng cho 5% người dùng không trùng lặp của một ứng dụng, bạn có thể định cấu hình một điều kiện để so khớp tỷ lệ phần trăm từ 0% đến 5% và định cấu hình một điều kiện khác để so khớp phạm vi từ 5% đến 10%. Để cho phép một số người dùng xuất hiện ngẫu nhiên trong cả hai nhóm, hãy sử dụng các giá trị ban đầu khác nhau cho các quy tắc trong mỗi điều kiện. |
Phân khúc được nhập | nằm trong | Chọn một hoặc nhiều phân khúc được nhập. | Quy tắc này yêu cầu bạn thiết lập phân khúc tuỳ chỉnh được nhập. |
Ngày/giờ | Trước, Sau | Ngày và giờ được chỉ định, có thể là theo múi giờ của thiết bị hoặc một múi giờ được chỉ định, chẳng hạn như "(GMT+11) Giờ Sydney". | So sánh thời gian hiện tại với thời gian tìm nạp thiết bị. |
Mở lần đầu | Trước, Sau | Một ngày và giờ cụ thể, theo múi giờ được chỉ định. | So khớp những người dùng mở ứng dụng được nhắm đến lần đầu tiên trong phạm vi thời gian đã chỉ định. Yêu cầu các SDK sau:
|
Mã nhận dạng lượt cài đặt | nằm trong | Chỉ định một hoặc nhiều Mã lượt cài đặt (tối đa 50) để nhắm đến. | Quy tắc này đánh giá thành true cho một lượt cài đặt nhất định nếu mã nhận dạng của lượt cài đặt đó nằm trong danh sách các giá trị được phân tách bằng dấu phẩy.
Để tìm hiểu cách lấy mã nhận dạng lượt cài đặt, hãy xem phần Truy xuất giá trị nhận dạng ứng dụng. |
Người dùng tồn tại | (không có toán tử) | Nhắm đến tất cả người dùng của tất cả ứng dụng trong dự án hiện tại. |
Sử dụng quy tắc điều kiện này để so khớp tất cả người dùng trong dự án, bất kể ứng dụng hay nền tảng. |
Tín hiệu tuỳ chỉnh |
Đối với giá trị chuỗi:
chứa, không chứa, khớp chính xác, chứa biểu thức chính quy Đối với giá trị số: =, ≠, >, ≥, <, ≤ Đối với giá trị phiên bản: =, ≠, >, ≥, <, ≤ |
Các chuỗi so sánh cho quy tắc này có phân biệt chữ hoa chữ thường. Khi sử dụng toán tử khớp chính xác, chứa, không chứa hoặc chứa biểu thức chính quy, bạn có thể chọn nhiều giá trị. Khi sử dụng toán tử biểu thức chính quy chứa, bạn có thể tạo biểu thức chính quy ở định dạng RE2. Biểu thức chính quy của bạn có thể khớp với toàn bộ hoặc một phần của chuỗi phiên bản mục tiêu. Bạn cũng có thể sử dụng các điểm neo ^ và $ để khớp với phần đầu, phần cuối hoặc toàn bộ chuỗi mục tiêu. Các loại dữ liệu sau đây được hỗ trợ cho môi trường ứng dụng:
Chữ số đại diện cho(các) số phiên bản cần khớp (ví dụ: 2.1.0). |
Để biết thêm thông tin về các điều kiện tín hiệu tuỳ chỉnh và biểu thức có điều kiện cần sử dụng, hãy xem bài viết Điều kiện tín hiệu tuỳ chỉnh và Các phần tử được dùng để tạo điều kiện. |
Tham số và điều kiện tìm kiếm
Bạn có thể tìm kiếm khoá tham số, giá trị tham số và điều kiện của dự án trong bảng điều khiển Firebase bằng cách sử dụng hộp tìm kiếm ở đầu thẻ Remote Config Tham số.
Giới hạn về thông số và điều kiện
Trong một dự án Firebase, bạn có thể có tối đa 3.000 thông số và tối đa 2.000 điều kiện. Khoá tham số có thể dài tối đa 256 ký tự, phải bắt đầu bằng dấu gạch dưới hoặc ký tự chữ cái tiếng Anh (A-Z, a-z) và cũng có thể chứa các chữ số. Tổng độ dài của các chuỗi giá trị tham số trong một dự án không được vượt quá 1.000.000 ký tự.
Xem các thay đổi đối với thông số và điều kiện
Bạn có thể xem các thay đổi mới nhất đối với mẫu Remote Config của mình trên bảng điều khiển Firebase. Đối với từng thông số và điều kiện riêng lẻ, bạn có thể:
Xem tên của người dùng đã sửa đổi thông số hoặc điều kiện gần đây nhất.
Nếu thay đổi xảy ra trong cùng một ngày, hãy xem số phút hoặc số giờ đã trôi qua kể từ khi thay đổi được xuất bản cho mẫu Remote Config đang hoạt động.
Nếu thay đổi xảy ra từ một ngày trở lên trước đó, hãy xem ngày thay đổi được xuất bản cho mẫu Remote Config đang hoạt động.
Nhật ký thay đổi đối với các tham số
Trên trang Remote Config Tham số, cột Đã xuất bản lần gần đây nhất cho biết người dùng gần đây nhất đã sửa đổi từng tham số và ngày xuất bản gần đây nhất cho thay đổi đó:
Để xem siêu dữ liệu thay đổi cho các thông số được nhóm, hãy mở rộng nhóm thông số.
Để sắp xếp theo thứ tự tăng dần hoặc giảm dần theo ngày xuất bản, hãy nhấp vào nhãn cột Ngày xuất bản gần nhất.
Nhật ký thay đổi cho các điều kiện
Trên trang Remote Config Điều kiện, bạn có thể xem người dùng gần đây nhất đã sửa đổi điều kiện và ngày họ sửa đổi điều kiện đó bên cạnh mục Ngày sửa đổi gần nhất trong mỗi điều kiện.