Các thông số và điều kiện cấu hình từ xa

Khi sử dụng bảng điều khiển Firebase hoặc API phụ trợ Cấu hình từ xa , bạn xác định một hoặc nhiều tham số (cặp khóa-giá trị) và cung cấp các giá trị mặc định trong ứng dụng cho các tham 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ị thông số phía máy chủ. Khóa tham số và giá trị tham số là chuỗi nhưng giá trị tham số có thể được chuyển thành các loại 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.

Bằng cách sử dụng bảng điều khiển Firebase, SDK quản trị hoặc API REST cấu hình từ xa , bạn có thể tạo các giá trị mặc định mới cho tham số của mình cũng như các giá trị có điều kiện được sử dụng để nhắm mục tiêu 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 của mình trong bảng điều khiển Firebase, Firebase sẽ tạo và xuất bản phiên bản mới của mẫu Cấu hình từ xa. Phiên bản trước đó đượ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 thông qua bảng điều khiển Firebase, SDK quản trị Firebase và API REST và được mô tả chi tiết hơn trong các phiên bản mẫu Quản lý cấu hình từ xa .

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 ưu tiên các giá trị tham số khác nhau trên Máy chủ cấu hình từ xa và trong ứng dụng của bạn. Nó cũng cung cấp chi tiết về các loại quy tắc được sử 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 sử dụng để nhắm mục tiêu một nhóm phiên bản ứng dụng. Các điều kiện được tạo thành từ một hoặc nhiều quy tắc phải được đánh giá là true để điều kiện được đánh giá là 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 không được xác định (ví dụ: khi không có giá trị nào), quy tắc đó sẽ đánh giá thành false .

Ví dụ: một tham số xác định trang giật gân của ứng dụng có thể hiển thị các hình ảnh khác nhau dựa trên loại hệ điều hành bằng quy tắc đơn giản if device_os = Android :

Ảnh chụp màn hình thông số 'splash_page' trong bảng điều khiển Firebase hiển thị giá trị mặc định cho iOS và giá trị có điều kiện cho Android

Hoặc, điều kiện thời gian có thể được sử dụng để kiểm soát thời điểm ứng dụng của bạn hiển thị các mặt hàng khuyến mãi đặc biệt.

Một tham số có thể có nhiều giá trị điều kiện sử dụng các điều kiện khác nhau và các tham số có thể chia sẻ các điều kiện trong một dự án. Trong tab Tham số của bảng điều khiển Firebase, bạn có thể xem tỷ lệ phần trăm tìm nạp cho các giá trị có điều kiện của từng tham số. Số liệu này cho biết tỷ lệ phần trăm yêu cầu trong 24 giờ qua đã nhận được từng giá trị.

Ưu tiên giá trị tham số

Một tham số có thể có nhiều giá trị điều kiện liên quan đến nó. Các quy tắc sau đây xác định giá trị nào được tìm nạp từ Máy chủ cấu hình từ xa và giá trị nào được sử 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ể:

Các giá trị tham số phía máy chủ được tìm nạp theo danh sách ưu tiên sau

  1. Đầu tiên, các giá trị có điều kiện sẽ được áp dụng nếu có các điều kiện đánh giá là true cho một phiên bản ứng dụng nhất định. 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) hiển thị 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 quan đến điều kiện đó sẽ được cung cấp khi ứng dụng tìm nạp các giá trị từ chương trình phụ trợ. Bạn có thể thay đổi mức độ ưu tiên của điều kiện bằng cách kéo và thả điều kiện trong tab Điều kiện .

  2. Nếu không có giá trị điều kiện nào có điều kiện đánh giá là true thì giá trị mặc định phía máy chủ sẽ được cung cấp khi ứng dụng tìm nạp các giá trị từ chương trình phụ trợ. Nếu một tham số không tồn tại trong phần phụ trợ hoặc nếu giá trị mặc định được đặt thành Use in-app default thì không có giá trị nào được cung cấp cho tham số đó khi ứng dụng tìm nạp giá trị.

Trong ứng dụng của bạn, các giá trị tham số được trả về bằng các phương thức get theo danh sách ưu tiên sau

  1. Nếu một giá trị được tìm nạp từ chương trình phụ trợ rồi kích hoạt thì ứng dụng sẽ sử dụng giá trị được tìm nạp đó. Giá trị tham số được kích hoạt là liên tục.
  2. 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ợ Cấu hình từ xa 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 Tải xuống mặc định mẫu Cấu hình từ xa .

  3. Nếu không có giá trị mặc định trong ứng dụng nào được đặt thì ứng dụng sẽ sử dụng giá trị loại tĩnh (chẳng hạn như 0 cho intfalse cho boolean ).

Đồ họa này tóm tắt cách ưu tiên các giá trị tham số trong phần phụ trợ Cấu hình từ xa và trong ứng dụng của bạn:

Sơ đồ hiển thị quy trình được mô tả theo danh sách có thứ tự ở trên

Kiểu dữ liệu giá trị tham số

Cấu hình từ xa cho phép bạn chọn loại dữ liệu cho từng tham số và xác thực tất cả các giá trị phía máy chủ theo loại đó trước khi cập nhật mẫu. Kiểu dữ liệu được lưu trữ và trả về theo yêu cầu getRemoteConfig .

Các loại hiện được hỗ trợ là:

  • String
  • Boolean
  • Number
  • JSON

Trong giao diện người dùng bảng điều khiển Firebase, loại dữ liệu có thể được chọn từ danh sách thả xuống bên cạnh khóa tham số. Trong các loại API REST có thể được đặt bằng cách sử dụng trường value_type trong đối tượng tham số.

Nhóm tham số

Cấu hình từ xa cho phép bạn nhóm các tham số lại với nhau để có giao diện người dùng và mô hình tinh thần có tổ chức hơn.

Ví dụ: giả sử bạn cần bật hoặc tắt ba loại xác thực khác nhau trong khi triển khai tính năng đăng nhập mới. Với Cấu hình từ xa, bạn có thể tạo ba tham số để kích hoạt các loại như mong muốn, sau đó sắp xếp chúng trong một nhóm có tên "Đă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 cấu hình từ xa. Mỗi nhóm tham số bạn tạo có một tên duy nhất trong mẫu Cấu hình từ xa. Khi tạo các nhóm tham số, hãy ghi nhớ:

  • Các tham số chỉ có thể được bao gồm trong một nhóm bất kỳ lúc nào và khóa tham số vẫn phải là duy nhất trên tất cả các tham số.
  • Tên nhóm tham số được giới hạn ở 256 ký tự.
  • Nếu bạn sử dụng cả API REST và bảng điều khiển Firebase, hãy đảm bảo rằng mọi logic API REST đều được cập nhật để xử lý các nhóm tham số khi xuất bản.

Tạo hoặc sửa đổi các nhóm tham số bằng bảng điều khiển Firebase

Bạn có thể nhóm các tham số trong tab Tham số của bảng điều khiển Firebase. Để tạo hoặc sửa đổi một nhóm:

  1. Chọn Quản lý nhóm .
  2. Chọn hộp kiểm cho các thông số bạn muốn thêm và chọn Move to group .
  3. 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à mô tả rồi chọn Tạo nhóm mới . Sau khi bạn lưu một nhóm, nhóm đó có thể được xuất bản bằng nút Xuất bản các thay đổi .

Tạo nhóm theo chương trình

API REST cấu hình từ xa cung cấp một cách tự động để tạo và xuất bản các nhóm tham số. Giả sử bạn đã quen với REST và được thiết lập để ủy quyền các yêu cầu tới API, bạn có thể thực hiện các bước sau để quản lý nhóm theo chương trình:

  1. Truy xuất mẫu hiện tại
  2. Thêm đối tượng JSON để thể hiện các nhóm tham số của bạn
  3. Xuất bản các nhóm tham số bằng yêu cầu HTTP PUT.

Đối tượng tham parameterGroups chứa các khóa nhóm, với mô tả lồng nhau và danh sách các tham số được nhóm. Lưu ý rằng mỗi khóa nhóm phải là duy nhất trên toàn cầu.

Ví dụ: đây là đoạn trích từ bản sửa đổi mẫu có thêm nhóm tham số "menu mới" với một tham số, pumpkin_spice_season :

{
  "parameters": {},
  "version": {
    "versionNumber": "1",

    …


  },
  "parameterGroups": {
    "new menu": {
      "description": "New Menu",
      "parameters": {
        "pumpkin_spice_season": {
          "defaultValue": {
            "value": "true"
          },
          "description": "Whether it's currently pumpkin spice season."
        }
      }
    }
  }
}

Các loại quy tắc điều kiện

Các loại quy tắc sau được hỗ trợ trong bảng điều khiển Firebase. Chức năng tương đương có sẵn trong API REST cấu hình từ xa, như được nêu chi tiết trong tham chiếu biểu thức điều kiện .

Loại quy tắc (Các) nhà điều hành (Các) giá trị Ghi chú
Ứng dụng == Chọn từ danh sách ID ứ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 ứng dụng vào Firebase, bạn nhập ID gói hoặc tên gói Android xác định thuộc tính được hiển thị dưới dạng ID ứng dụng trong quy tắc Cấu hình từ xa.

Sử dụng thuộc tính này như sau:
  • Đối với nền tảng Apple: Sử dụng CFBundleIdentifier của ứng dụng. Bạn có thể tìm thấy Mã nhận dạng gói trong tab Chung cho mục tiêu chính của ứng dụng trong Xcode.
  • Đối với Android: Sử dụng applicationId của ứng dụng. Bạn có thể tìm thấy applicationId trong tệp build.gradle cấp ứng dụng của mình.
Phiên bản ứng dụng Đối với các giá trị chuỗi:
khớp chính xác,
chứa,
không chứa,
biểu hiện thông thường

Đối với các giá trị số:
=, ≠, >, ≥, <, ≤

Chỉ định (các) phiên bản ứng dụng của bạn để nhắm mục tiêu.

Trước khi sử dụng quy tắc này, bạn phải sử dụng quy tắc ID ứng dụng để chọn ứng dụng Android/Apple được liên kết với dự án Firebase của bạn.

Đối với nền tảng Apple: Sử dụng CFBundleShortVersionString của ứng dụng.

Lưu ý: Đảm bảo ứng dụng Apple của bạn đang sử dụng SDK nền tảng Firebase của 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 cũ hơn (xem ghi chú phát hành ).

Đối với Android: Sử dụng tên phiên bản của ứng dụng.

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 toán tử 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 , 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 tất cả hoặc một phần chuỗi phiên bản đích. Bạn cũng có thể sử dụng các neo ^$ để 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 các giá trị chuỗi:
khớp chính xác,
chứa,
không chứa,
biểu hiện thông thường

Đối với các giá trị số:
=, ≠, >, ≥, <, ≤

Chỉ định (các) bản dựng ứng dụng của bạn để nhắm mục tiêu.

Trước khi sử dụng quy tắc này, bạn phải sử dụng quy tắc ID ứng dụng để chọn ứ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ỉ khả dụng cho ứng dụng Apple và Android. Nó tương ứng với CFBundleVersion dành cho Apple và Mã phiên bản dành cho Android của ứng dụng. 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 toán tử 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 , 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 tất cả hoặc một phần chuỗi phiên bản đích. Bạn cũng có thể sử dụng các neo ^$ để 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 để nhắm mục tiêu.

Trước khi sử dụng quy tắc này, bạn phải sử dụng quy tắc ID ứng dụng để chọn ứ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á là true đối với 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 nó khớp với giá trị đích trong danh sách đã chỉ định.
Trình duyệt ==

Chỉ định (các) trình duyệt để nhắm mục tiêu.

Trước khi sử dụng quy tắc này, bạn phải sử dụng quy tắc ID ứng dụng để chọn ứ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á là true đối với 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 nó khớp với giá trị đích trong danh sách đã chỉ định.
Danh mục thiết bị không phải di động Quy tắc này đánh giá xem thiết bị truy cập ứ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 để bàn hoặc bảng điều khiển). Loại quy tắc này chỉ khả dụng cho các ứng dụng web.
Ngôn ngữ trong Chọn một hoặc nhiều ngôn ngữ. Quy tắc này đánh giá là true đối với 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 thiết bị sử dụng một trong các ngôn ngữ được liệt kê.
Quốc gia/Khu vực trong Chọn một hoặc nhiều khu vực hoặc quốc gia. Quy tắc này được đánh giá là true đối với một phiên bản ứng dụng nhất định nếu phiên bản đó nằm ở bất kỳ khu vực hoặc quốc gia nào được liệt kê. 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).
Đối tượng người dùng Bao gồm ít nhất một Chọn một hoặc nhiều từ 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 quy tắc ID ứng dụng để chọn ứ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ởi các 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 thời gian để quy tắc Người dùng trong đố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,
biểu hiện thông thường

Đối với các giá trị số:
=, ≠, >, ≥, <, ≤

Lưu ý: Trên máy khách, bạn chỉ có thể đặt 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ử số, Cấu hình từ xa 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ố float.
Chọn từ danh sách thuộc tính người dùng Google Analytics có sẵn. Để tìm hiểu cách bạn có thể sử dụng thuộc tính người dùng để tùy chỉnh ứng dụng của mình cho những phân đoạn rất cụ thể trong cơ sở người dùng, hãy xem Cấu hình từ xa 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 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 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 , 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 tất cả hoặc một phần chuỗi phiên bản đích. Bạn cũng có thể sử dụng các neo ^$ để 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 hiện không khả dụng khi tạo điều kiện Cấu hình từ xa.
Người dùng theo tỷ lệ phần trăm ngẫu nhiên Thanh trượt (trong bảng điều khiển Firebase. API REST sử dụng các toán tử <= , >between các toán tử). 0-100

Sử dụng trường này để áp dụng thay đổi cho một mẫu phiên bản ứng dụng ngẫu nhiên (với kích thước mẫu nhỏ tới 0,0001%), sử dụng tiện ích thanh trượt để phân chia người dùng được xáo trộn ngẫu nhiên (phiên bản ứng dụng) thành các nhóm.

Mỗi phiên bản ứng dụng được ánh xạ liên tục tới một số nguyên hoặc phân số ngẫu nhiên, theo một hạt giống được xác định trong dự án đó.

Quy tắc sẽ sử dụng khóa mặc định (được hiển thị dưới dạng Chỉnh sửa hạt giống trong bảng điều khiển Firebase) trừ khi bạn sửa đổi giá trị hạt giống. Bạn có thể đưa quy tắc trở lại sử dụng khóa mặc định bằng cách xóa trường Hạt giống .

Để giải quyết nhất quán các phiên bản ứng dụng giống nhau trong phạm vi tỷ lệ phần trăm nhất định, hãy sử dụng cùng một giá trị gốc trong 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 phần trăm nhất định bằng cách chỉ định hạt giống mới.

Ví dụ: để tạo hai điều kiện liên quan, mỗi điều kiện áp dụng cho 5% người dùng ứng dụng không chồng chéo, bạn có thể định cấu hình một điều kiện để khớp với tỷ lệ phần trăm từ 0% đến 5% và định cấu hình một điều kiện khác để khớp với 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ị hạt giống khác nhau cho các quy tắc trong từng điều kiện.

Phân khúc đã nhập trong Chọn một hoặc nhiều phân đoạn đã nhập. Quy tắc này yêu cầu thiết lập các phân đoạn được nhập tùy chỉnh .
Ngày giờ Trước, Sau Ngày và giờ được chỉ định, theo múi giờ của thiết bị hoặc 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 Ngày và giờ được chỉ định, trong múi giờ được chỉ định.

Phù hợp với những người dùng lần đầu mở ứng dụng được nhắm mục tiêu trong khoảng thời gian được chỉ định.

Yêu cầu các SDK sau:

  • SDK Firebase cho Google Analytics
  • Nền tảng Apple SDK v9.0.0+ hoặc Android SDK v21.1.1+ (Firebase BoM v30.3.0+)

ID cài đặt trong Chỉ định một hoặc nhiều ID cài đặt (tối đa 50) để nhắm mục tiêu. Quy tắc này đánh giá là true cho một cài đặt nhất định nếu ID của cài đặt đó nằm trong danh sách giá trị được phân tách bằng dấu phẩy.

Để tìm hiểu cách bạn có thể nhận ID cài đặt, hãy xem Truy xuất số nhận dạng ứng dụng khách .
Người dùng tồn tại (không có người điều hành) Nhắm mục tiêu 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 để khớp tất cả người dùng trong dự án, bất kể ứng dụng hay nền tảng.

Tìm kiếm thông số và điều kiện

Bạn có thể tìm kiếm các khóa tham số, giá trị tham số và điều kiện của dự án từ bảng điều khiển Firebase bằng hộp tìm kiếm ở đầu tab Tham số cấu hình từ xa.

Giới hạn về thông số và điều kiện

Trong dự án Firebase, bạn có thể có tối đa 2000 tham số và tối đa 500 điều kiện. Các khóa 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 (AZ, az) và cũng có thể bao gồm số. Tổng độ dài của 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 về thông số và điều kiện

Bạn có thể xem những thay đổi mới nhất đối với mẫu Cấu hình từ xa của mình từ bảng điều khiển Firebase . Đối với từng tham 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 tham số hoặc điều kiện lần cuối.

  • Nếu thay đổi xảy ra trong cùng 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 lên mẫu Cấu hình từ xa đang hoạt động.

  • Nếu thay đổi đã xảy ra một hoặc nhiều ngày trước đây, hãy xem ngày thay đổi được xuất bản lên mẫu Cấu hình từ xa đang hoạt động.

Cập nhật thông số

Trên trang Tham số Cấu hình Từ xa, cột Xuất bản lần cuối hiển thị người dùng cuối cùng đã sửa đổi từng tham số và ngày xuất bản cuối cùng cho thay đổi:

  • Để xem siêu dữ liệu thay đổi cho các tham số được nhóm, hãy mở rộng nhóm tham 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 được xuất bản lần cuối .

Cập nhật tình trạng

Trên trang Điều kiện cấu hình từ xa, bạn có thể thấy người dùng cuối cùng đã sửa đổi điều kiện và ngày họ sửa đổi nó bên cạnh Sửa đổi lần cuối bên dưới mỗi điều kiện.

Bước tiếp theo

Để bắt đầu định cấu hình dự án Firebase của bạn, hãy xem Thiết lập Dự án cấu hình từ xa Firebase .