Tham chiếu biểu thức điều kiện cấu hình từ xa

Trang này chứa thông tin tham khảo để tạo biểu thức điều kiện bằng cách sử dụng API phụ trợ Cấu hình từ xa 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 Sửa đổi cấu hình từ xa theo chương trình .

Các yếu tố được sử dụng để tạo điều kiện

API REST cấu hình từ xa hỗ trợ các phần tử tương tự mà bạn có thể sử dụng để tạo điều kiện khi định cấu hình cấu hình từ xa bằng Bảng điều khiển Firebase:

Thành phần Sự miêu tả
&&

Được sử dụng để tạo một "và" hợp lý của các phần tử nếu sử dụng nhiều hơn một phần tử cho một điều kiện. Nếu một phần tử được sử dụng trong cú pháp REST mà không có && , phần tử đó được coi là một điều kiện.

Lưu ý: bắt buộc phải có dấu cách trước và sau dấu "và". Ví dụ: element1 && element2 .

app.build

Đánh giá TRUE hoặc FALSE dựa trên giá trị của số bản dựng của ứng dụng.

Lưu ý: Chỉ khả dụng trên các thiết bị Apple và Android. Đối với Apple, sử dụng giá trị của CFBundleVersion và đối với Android, sử dụng giá trị của Mã phiên bản .

app.version

Đánh giá TRUE hoặc FALSE dựa trên giá trị của số phiên bản của ứng dụng.

Lưu ý: Đối với thiết bị Android sử dụng giá trị của versionName và đối với thiết bị Apple sử dụng giá trị của CFBundleShortVersionString .

app.id Một phần tử dựa trên ID ứng dụng Firebase của ứng dụng
app.audiences Một yếu tố được đánh giá là TRUE hoặc FALSE dựa trên sự hiện diện hoặc vắng mặt của người dùng trong một hoặc nhiều đối tượng Firebase Analytics .
app.userProperty Một phần tử đánh giá thành TRUE hoặc FALSE dựa trên giá trị số hoặc chuỗi của Thuộc tính người dùng Firebase Analytics .
app.operatingSystemAndVersion

Một phần tử dựa trên hệ điều hành mà ứng dụng đang chạy. Đánh giá thành TRUE khi hệ điều hành và phiên bản hệ điều hành khớp với mục tiêu được chỉ định.

Lưu ý: Chỉ có sẵn cho các ứ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á thành TRUE khi trình duyệt và phiên bản trình duyệt khớp với mục tiêu được chỉ định.

Lưu ý: Chỉ có sẵn cho các ứng dụng Web.

app.firebaseInstallationId Một phần tử dựa trên ID của các cài đặt thiết bị cụ thể. Đánh giá thành TRUE khi ID cài đặt khớp với một trong các ID cài đặt được chỉ định.
device.country Một yếu tố dựa trên khu vực / quốc gia có 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á thành 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 gian của lần tìm nạp cuối cùng mà thiết bị thực hiện. Sử dụng định dạng ngày ISO với tùy chọn để chỉ định 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ữ được chọn trên thiết bị. Ngôn ngữ được trình bày bằng thẻ Ngôn ngữ IETF như es-ES, pt-BR hoặc en-US. Đánh giá thành TRUE khi một ngôn ngữ khớp với mã ngôn ngữ mong đợi.
device.os Một phần tử dựa trên hệ điều hành được sử dụng trên thiết bị (Apple hoặc Android). Đánh giá là TRUE khi hệ điều hành thiết bị là loại mong đợi.
percent Đánh giá là TRUE dựa trên việc người dùng đưa vào phân vị phân số được chỉ định ngẫu nhiên (với kích thước mẫu nhỏ đến 0,000001%).

Điều kiện một phần tử chứa ba trường:

  1. name được xác định tùy ý (tối đa 100 ký tự)
  2. Một biểu thức điều kiện đánh giá là TRUE hoặc FALSE , được tạo thành từ các phần tử được hiển thị ở trên.
  3. (Tùy chọn) Màu tagColor , có thể là " BLUE ", " BROWN ", " CYAN ", " DEEP_ORANGE ", " GREEN ", " INDIGO ", " LIME ", " ORANGE ", " PINK ", " PURPLE " hoặc " TEAL ". Màu sắc 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 bảng điều khiển Firebase.

Các nhà khai thác đượ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 trả về FALSE nếu 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 là 123 hoặc 492, nhưng trả về FALSE nếu phiên bản ứng dụng thực là 999.
Thành phần Các nhà khai thác được hỗ trợ Sự miêu tả
app.audiences .inAtLeastOne([...]) Trả về TRUE nếu đối tượng thực tế khớp với ít nhất một 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 với í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.userProperty < , <= , == != , >= , > Trả về TRUE nếu thuộc tính số người dùng thực so sánh với 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ị đích nào là chuỗi con của thuộc tính người dùng thực.
app.userProperty .notContains([...]) Trả về TRUE nếu không có giá trị đích nào là chuỗi con của thuộc tính người dùng thực.
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 (phân biệt chữ hoa chữ thường) bất kỳ giá trị đích nào trong danh sách.
app.userProperty .matches([...]) Trả về TRUE nếu bất kỳ biểu thức chính quy đích nào trong danh sách khớp với chuỗi con của hoặc toàn bộ giá trị thực. Để bắt buộc đối sánh toàn bộ chuỗi, hãy đặt trước biểu thức chính quy bằng "^" và tiếp nối nó bằng "$". Sử dụng cú pháp RE2 .
app.id == Trả về TRUE nếu giá trị được chỉ định khớp với Id ứ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ế so sánh bằng số với 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ị đích 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ị đích 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 với 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 đích nào trong danh sách khớp với chuỗi con của hoặc toàn bộ giá trị thực. Để bắt buộc đối sánh toàn bộ chuỗi, hãy đặt trước biểu thức chính quy bằng "^" và tiếp nối nó 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ế so sánh bằng số với 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ị đích nào là chuỗi con của phiên bản ứng dụng thực tế — 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ị đích 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 bất kỳ biểu thức chính quy đích nào trong danh sách khớp với chuỗi con của hoặc toàn bộ giá trị thực. Để bắt buộc đối sánh toàn bộ chuỗi, hãy đặt trước biểu thức chính quy bằng "^" và tiếp nối nó 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ị đích 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ị đích nào trong danh sách.
Ví dụ:

    app.browserAndVersion.inOne([browserName('Chrome').anyVersion])
    

app.firebaseInstallationId in [...] Trả về TRUE nếu id cài đặt khớp với bất kỳ mã nào được chỉ định trong danh sách. Cách sử dụng mẫu: 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ỳ quốc gia nào được chỉ định trong danh sách. Cách sử dụng mẫu: 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 đích của điều kiện và đánh giá là TRUE hoặc FALSE dựa trên toán tử. Sử dụng mẫu: dateTime < dateTime('2017-03-22T13:39:44') .
device.language in [...] Trả về TRUE nếu 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. Cách sử dụng mẫu: 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 <= , > Trả về TRUE nếu giá trị trong trường percent so với giá trị được gán ngẫu nhiên khớp với toán tử.