Trang này chứa thông tin tham khảo về cách tạo bản dựng có điều kiện biểu thức bằng API phụ trợ Remote Config hoặc bảng điều khiển Firebase. Để biết thêm thông tin về cách thiết lập và sử dụng các API phụ trợ, hãy xem phần Sửa đổi Remote Config theo phương thức lập trình.
Các phần tử dùng để tạo điều kiện
API REST Remote Config hỗ trợ các phần tử tương tự mà bạn có thể dùng để tạo điều kiện khi định cấu hình Remote Config bằng Bảng điều khiển của Firebase:
Phần tử | Mô tả |
---|---|
&& |
Dùng để tạo toán tử "và" logic của các phần tử nếu sử dụng nhiều phần tử cho một điều kiện. Nếu một phần tử được dùng trong cú pháp REST mà không có phần tử
Lưu ý: Phải có dấu cách trước và sau ký hiệu "&". Ví dụ:
|
app.build |
Cho Lưu ý: Chỉ có trên các thiết bị của Apple và Android. Đối với Apple, hãy sử dụng giá trị của CFBundleVersion. Đối với Android, hãy sử dụng giá trị của versionCode. |
app.version |
Cho Lưu ý: Đối với thiết bị Android, hãy sử dụng giá trị của versionName, và đối với các thiết bị của Apple, hãy sử dụng giá trị của CFBundleShortVersionString. |
app.id |
Một phần tử dựa trên mã ứng dụng Firebase của ứng dụng |
app.audiences |
Một phần tử đánh giá thành TRUE hoặc FALSE dựa trên việc người dùng có xuất hiện trong một hoặc nhiều đối tượng Firebase Analytics hay không. |
app.firstOpenTimestamp |
Một phần tử dựa trên lần đầu tiên người dùng chạy ứng dụng, được lấy từ sự kiện Google Analytics first_open . Sử dụng ngày ISO
định dạng với tuỳ chọn chỉ định một múi giờ cố định; ví dụ:
app.firstOpenTimestamp >= ('2022-10-31T14:37:47', 'America/Los_Angeles') .
Nếu không chỉ định múi giờ thì GMT sẽ được sử dụng.
|
app.userProperty |
Một phần tử đánh giá dựa trên TRUE hoặc FALSE
dựa trên giá trị số hoặc giá trị chuỗi của
Thuộc tính người dùng Firebase Analytics. |
app.operatingSystemAndVersion |
Phần tử dựa trên hệ điều hành mà ứng dụng đang chạy.
Đánh giá cho Lưu ý: Chỉ dành cho ứng dụng web. |
app.browserAndVersion |
Một phần tử dựa trên trình duyệt mà ứng dụng đang chạy.
Đánh giá theo Lưu ý: Chỉ dành cho ứng dụng web. |
app.firebaseInstallationId |
Một phần tử dựa trên mã nhận dạng của các lượt cài đặt thiết bị cụ thể.
Đánh giá là TRUE khi mã cài đặt
khớp với một trong các mã cài đặt được chỉ định. |
device.country |
Một phần tử dựa trên khu vực/quốc gia nơi đặt thiết bị, sử dụng
tiêu chuẩn ISO 3166-1 alpha-2 (ví dụ: Hoa Kỳ hoặc Vương quốc Anh). Đánh giá cho
TRUE khi một quốc gia khớp với mã quốc gia dự kiến. |
device.dateTime |
Một phần tử dựa trên thời điểm tìm nạp gần đây nhất mà thiết bị thực hiện.
Sử dụng định dạng ngày ISO với tuỳ chọn để chỉ định một múi giờ cố định; ví dụ: dateTime('2017-03-22T13:39:44', 'America/Los_Angeles') . |
device.language |
Một phần tử dựa trên ngôn ngữ đã chọn trên thiết bị. Ngôn ngữ này là
được biểu thị bằng thẻ Ngôn ngữ IETF, chẳng hạn như es-ES, pt-BR hoặc en-US.
Đánh giá thành TRUE khi một ngôn ngữ khớp với ngôn ngữ dự kiến
. |
device.os |
Một phần tử dựa trên hệ điều hành mà thiết bị sử dụng (Apple hoặc Android).
Đánh giá thành TRUE khi hệ điều hành của thiết bị là loại dự kiến. |
percent |
Đánh giá theo TRUE dựa trên việc người dùng được đưa vào
tỷ lệ phần trăm được chỉ định (với kích thước mẫu nhỏ đến 0,000001%). |
Điều kiện về một phần tử chứa 3 trường:
name
được xác định tuỳ ý (tối đa 100 ký tự)- Biểu thức có điều kiện đánh giá thành
TRUE
hoặcFALSE
, bao gồm các phần tử hiển thị ở trên. - (Không bắt buộc)
tagColor
, có thể là "BLUE
", "BROWN
", "CYAN
", "DEEP_ORANGE
", "GREEN
", "INDIGO
", "LIME
", "ORANGE
", "PINK
", "PURPLE
" hoặc "TEAL
". Màu sắc là không phân biệt chữ hoa chữ thường và chỉ ảnh hưởng đến cách hiển thị các điều kiện trong Firebase bảng điều khiển.
Toán tử được hỗ trợ
Ví dụ:app.build.notContains([123, 456])
trả về TRUE
nếu
bản dựng ứng dụng thực tế là 123 hoặc 492, nhưng sẽ trả về FALSE
nếu giá trị
bản dựng ứng dụng thực tế là 999.
Ví dụ: app.version.notContains([123, 456])
trả về TRUE
nếu phiên bản ứng dụng thực tế là 123 hoặc 492, nhưng trả về FALSE
nếu phiên bản ứng dụng thực tế là 999.
Phần tử | Toán tử được hỗ trợ | Mô tả |
---|---|---|
app.audiences |
.inAtLeastOne([...]) |
Trả về TRUE nếu đối tượng thực tế khớp với ít nhất một đối tượng
tên đối tượng trong danh sách.Ví dụ: app.audiences.inAtLeastOne(['Audience 1', 'Audience 2']) |
app.audiences |
.notInAtLeastOne([...]) |
Trả về TRUE nếu đối tượng thực tế không khớp ít nhất
một tên đối tượng trong danh sách. |
app.audiences |
.inAll([...]) |
Trả về TRUE nếu đối tượng thực tế là thành viên của mỗi
tên đối tượng trong danh sách. |
app.audiences |
.notInAll([...]) |
Trả về TRUE nếu đối tượng thực tế không phải là thành viên của bất kỳ đối tượng nào trong danh sách. |
app.firstOpenTimestamp |
<=, > |
So sánh thời gian diễn ra sự kiện first_open với thời gian được chỉ định
thời gian trong điều kiện và trả về TRUE hoặc FALSE
dựa trên toán tử.Ví dụ về cách sử dụng: app.firstOpenTimestamp >= ('2022-10-31T14:37:47', 'America/Los_Angeles') .
Để chỉ định một dải ô: app.firstOpenTimestamp >= ('2022-11-01T00:00:00') && app.firstOpenTimestamp < ('2022-12-01T00:00:00')
Nếu không chỉ định múi giờ thì GMT sẽ được sử dụng.
|
app.userProperty |
< , <= , == , != ,
>= , > |
Trả về TRUE nếu thuộc tính người dùng thực tế được so sánh bằng số
thành giá trị được chỉ định theo cách khớp với toán tử. |
app.userProperty |
.contains([...]) |
Trả về TRUE nếu bất kỳ giá trị mục tiêu nào là chuỗi con của
thuộc tính người dùng thực tế. |
app.userProperty |
.notContains([...]) |
Trả về TRUE nếu không có giá trị mục tiêu nào là chuỗi con của
thuộc tính người dùng thực tế. |
app.userProperty |
.exactlyMatches([...]) |
Trả về TRUE nếu thuộc tính người dùng thực tế khớp chính xác (có phân biệt chữ hoa chữ thường) với bất kỳ giá trị mục tiêu nào trong danh sách. |
app.userProperty |
.matches([...]) |
Trả về TRUE nếu biểu thức chính quy mục tiêu bất kỳ trong phương thức
danh sách khớp với chuỗi con của hoặc
toàn bộ giá trị thực tế. Để buộc so khớp toàn bộ chuỗi,
mở đầu biểu thức chính quy bằng "^" và thêm "$" vào phía sau. Công dụng
Cú pháp RE2. |
app.id |
== |
Trả về TRUE nếu giá trị được chỉ định khớp với Mã ứng dụng của ứng dụng. |
app.build |
< , <= , == , != ,
>= , > |
Trả về TRUE nếu bản dựng ứng dụng thực tế được so sánh dưới dạng số
thành giá trị được chỉ định theo cách khớp với toán tử. |
app.build |
.contains([...]) |
Trả về TRUE nếu bất kỳ giá trị mục tiêu nào là chuỗi con của
bản dựng ứng dụng thực tế, ví dụ: "a" và "bc" là chuỗi con của
"abc". |
app.build |
.notContains([...]) |
Trả về TRUE nếu không có giá trị mục tiêu nào là chuỗi con của
bản dựng ứng dụng thực tế. |
app.build |
.exactlyMatches([...]) |
Trả về TRUE nếu bản dựng ứng dụng thực tế khớp chính xác
bất kỳ giá trị mục tiêu nào trong danh sách. |
app.build |
.matches([...]) |
Trả về TRUE nếu bất kỳ biểu thức chính quy mục tiêu nào trong danh sách khớp với một chuỗi con hoặc toàn bộ giá trị thực tế. Để buộc so khớp
của toàn bộ chuỗi, mở đầu biểu thức chính quy bằng "^" rồi thêm vào hậu tố
bằng "$". Sử dụng
Cú pháp RE2. |
app.version |
< , <= , == , != ,
>= , > |
Trả về TRUE nếu phiên bản ứng dụng thực tế được so sánh dưới dạng số
thành giá trị được chỉ định theo cách khớp với toán tử. |
app.version |
.contains([...]) |
Trả về TRUE nếu bất kỳ giá trị mục tiêu nào là chuỗi con của
phiên bản thực tế của ứng dụng, ví dụ: "a" và "bc" là chuỗi con của
"abc". |
app.version |
.notContains([...]) |
Trả về TRUE nếu không có giá trị mục tiêu nào là chuỗi con của
phiên bản ứng dụng thực tế. |
app.version |
.exactlyMatches([...]) |
Trả về TRUE nếu phiên bản ứng dụng thực tế khớp chính xác với bất kỳ giá trị mục tiêu nào trong danh sách. |
app.version |
.matches([...]) |
Trả về TRUE nếu biểu thức chính quy mục tiêu bất kỳ trong phương thức
khớp với chuỗi con của hoặc toàn bộ giá trị thực tế. Để buộc so khớp
của toàn bộ chuỗi, mở đầu biểu thức chính quy bằng "^" rồi thêm vào hậu tố
bằng "$". Sử dụng
Cú pháp RE2. |
app.operatingSystemAndVersion |
.inOne([...]) |
Trả về TRUE nếu hệ điều hành và phiên bản khớp với bất kỳ giá trị mục tiêu nào trong danh sách.Ví dụ: app.operatingSystemAndVersion.inOne([operatingSystemName('Macintosh').version.==('10.15')]) |
app.browserAndVersion |
.inOne([...]) |
Trả về TRUE nếu trình duyệt và phiên bản khớp với bất kỳ giá trị mục tiêu nào trong danh sách.Ví dụ: app.browserAndVersion.inOne([browserName('Chrome').anyVersion]) |
app.firebaseInstallationId |
in [...] |
Trả về TRUE nếu mã cài đặt
khớp với bất kỳ giá trị nào được chỉ định trong danh sách. Ví dụ về cách sử dụng: app.firebaseInstallationId
in ['eyJhbGciOiJFUzI1N_iIs5', 'eapzYQai_g8flVQyfKoGs7'] |
device.country |
in [...] |
Trả về TRUE nếu quốc gia của thiết bị
khớp với bất kỳ giá trị nào được chỉ định trong danh sách. Ví dụ về cách sử dụng: device.country in
['gb', 'us'] .
Mã quốc gia của thiết bị được xác định bằng cách sử dụ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). |
device.dateTime |
<= , > |
So sánh thời gian hiện tại với thời gian mục tiêu của điều kiện và đánh giá là TRUE hoặc FALSE dựa trên toán tử. Ví dụ về cách sử dụng:
dateTime < dateTime('2017-03-22T13:39:44') . |
device.language |
in [...] |
Trả về TRUE nếu có bất kỳ ngôn ngữ nào của ứng dụng khớp với một ngôn ngữ
trong danh sách. Ví dụ về cách sử dụng: device.language in ['en-UK', 'en-US'] . |
device.os |
== , != |
Trả về TRUE nếu hệ điều hành của thiết bị so sánh
với giá trị trong trường đó khớp với toán tử. |
percent |
<= , > , between |
Trả về TRUE nếu giá trị trong trường percent
so sánh với giá trị được chỉ định ngẫu nhiên khớp với toán tử.
Bạn có thể chỉ định một số ngẫu nhiên để chọn một hạt giống mới được chỉ định ngẫu nhiên nhóm phiên bản ứng dụng trong một phạm vi tỷ lệ phần trăm nhất định như được mô tả trong Quy tắc điều kiện . Để thực hiện việc này, hãy cung cấp tên của số ngẫu nhiên trước toán tử, như trong ví dụ sau: percent('keyName') <= 10 Để định cấu hình một dải ô cụ thể, bạn có thể sử dụng percent between 20 and 60 Cách định cấu hình phạm vi người dùng từ 60 đến 80 bằng cách sử dụng số ngẫu nhiên tuỳ chỉnh: percent('seedName') between 60 and 80 |