Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

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

Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.

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 giá trị mặc định trong ứng dụng cho các tham số đó. Bạn có thể ghi đè giá trị mặc định trong ứng dụng bằng cách xác định giá trị thông số phía máy chủ. Khóa 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 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 các 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 khi 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 một phiên bản mới của mẫu Cấu hình từ xa của bạn. 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. Tất cả các quy tắc này phải được đánh giá là true thì điều kiện mới được đánh giá là true đối với 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), thì quy tắc đó sẽ đánh giá là 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 cách sử dụ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, một đ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ó một số giá trị có điều kiện được liên kết với nó. Các quy tắc sau 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 được áp dụng, nếu bất kỳ giá trị nào có điều kiện đánh giá là true đối với 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 của bảng điều khiển Firebase sẽ được ưu tiên và các giá trị có điều kiện được liên kết với điều kiện đó được cung cấp khi ứ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 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 giá trị từ chương trình phụ trợ. Nếu một thông 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 Sử dụng mặc định trong ứng dụng thì không có giá trị nào được cung cấp cho thông 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 phương thức get trả về theo danh sách ưu tiên sau

  1. Nếu một giá trị được tìm nạp từ phụ trợ và sau đó được kích hoạt, thì ứng dụng sẽ sử dụng giá trị được tìm nạp. Các giá trị tham số được kích hoạt là cố định.
  2. Nếu không có giá trị nào được tìm nạp từ chương trình phụ trợ hoặc nếu các giá trị được tìm nạp từ chương trình 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 nhận và đặt giá trị mặc định, hãy xem Tải xuống giá trị mặc định của 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ì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ợ Cấu hình từ xa và trong ứng dụng của bạn:

Sơ đồ hiển thị luồng được mô tả bởi các danh sách được sắp xếp ở trên

Các 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ủ đối với loại đó 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 hiện được hỗ trợ là:

  • String
  • Boolean
  • Number
  • JSON

Trong giao diện người dùng của bảng điều khiển Firebase, bạn có thể chọn loại dữ liệu 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 thông 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 thông số bạn tạo có một tên duy nhất trong mẫu Cấu hình từ xa của bạn. Khi tạo các nhóm tham số, hãy ghi nhớ:

  • Các thông số chỉ có thể được bao gồm trong một nhóm bất cứ lúc nào và một khóa 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ố được giới hạn trong 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 các hộp kiểm cho thông số bạn muốn thêm và chọn Di chuyển đến nhóm .
  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, nó có sẵn để được xuất bản bằng cách sử dụng nút Xuất bản 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 thuộc với REST và được thiết lập để ủy quyền cho các yêu cầu đối với API, bạn có thể thực hiện các bước sau để quản lý các nhóm theo chương trình:

  1. Truy xuất mẫu hiện tại
  2. Thêm các đối tượng JSON để đại diện cho 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 parameterGroups sốGroups 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 đây đượ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 trình bày chi tiết trong tài liệu tham khảo 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 Mã định danh 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 đựng,
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 mình.

Đối với nền tảng 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 nền tảng Apple của Firebase 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 versionName của ứng dụng.

So sánh chuỗi cho quy tắc này phân biệt chữ hoa chữ thường. Khi sử dụng toán tử đối sánh chính xác , 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 . Cụm từ thông dụng của bạn có thể khớp với tất cả hoặc một phần của chuỗi phiên bản đích. Bạn cũng có thể sử dụng các ký tự ^$ để khớp với phần đầu, phần cuối hoặc toàn bộ chuỗi mục tiêu.

xây dựng số Đối với các giá trị chuỗi:
khớp chính xác,
chứa đựng,
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 mình.

Toán tử này chỉ khả dụng cho ứng dụng Apple và Android. Nó tương ứng với CFBundleVersion của ứng dụng dành cho Apple và versionCode dành cho Android. So sánh chuỗi cho quy tắc này phân biệt chữ hoa chữ thường.

Khi sử dụng toán tử đối sánh chính xác , 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 . Cụm từ thông dụng của bạn có thể khớp với tất cả hoặc một phần của chuỗi phiên bản đích. Bạn cũng có thể sử dụng các ký tự ^$ để 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
mạng
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 một ứng dụng Web được liên kết với dự án Firebase của mình.

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 một 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 một ứng dụng Web được liên kết với dự án Firebase của mình.

Quy tắc này được đá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 một 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 dành cho 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 đượ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 ứ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/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 đó ở 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 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 theo 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 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 đựng,
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 chuyển đổi giá trị của thuộc tính người dùng tương ứng thành một số nguyên/số float.
Chọn từ danh sách các 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 các phân đoạn rất cụ thể trong cơ sở người dùng của bạn, 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 các hướng dẫn sau:

Khi sử dụng toán tử đối sánh chính xác , 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 . Cụm từ thông dụng của bạn có thể khớp với tất cả hoặc một phần của chuỗi phiên bản đích. Bạn cũng có thể sử dụng các ký tự ^$ để khớp với phần đầu, phần cuối hoặc toàn bộ chuỗi mục tiêu.

Lưu ý: Các thuộc tính người dùng được thu thập tự động hiện không khả dụng khi tạo các đ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 <=, > 0-100

Sử dụng trường này để áp dụng thay đổi cho 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ỏ bằng 0,0001%), sử dụng toán tử <=> để phân đoạn người dùng (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 khóa được xác định trong dự án đó. Một quy tắc sẽ sử dụng khóa mặc định (hiển thị là DEF trong bảng điều khiển Firebase) trừ khi bạn chọn hoặc tạo một khóa khác. Bạn có thể trả lại quy tắc để sử dụng khóa mặc định bằng cách xóa trường Ngẫu nhiên hóa người dùng bằng trường khóa này. Bạn có thể sử dụng một khóa duy nhất trên các quy tắc để xử lý 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. Hoặc, bạn có thể chọn một nhóm phiên bản ứng dụng được chỉ định ngẫu nhiên mới cho một phạm vi phần trăm nhất định bằng cách tạo một khóa 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 trùng lặp, bạn có thể có một điều kiện bao gồm quy tắc <= 5% và một điều kiện khác bao gồm cả quy tắc > 5%<= quy tắc 10% . Để một số người dùng có thể xuất hiện ngẫu nhiên trong cả hai nhóm, hãy sử dụng các phím 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 khúc đã 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ờ đã chỉ định, theo múi giờ của thiết bị hoặc múi giờ đã 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ị.
lần đầu tiên mở Trước, Sau Một ngày và thời gian được chỉ định, trong múi giờ được chỉ định.

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

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

  • SDK Firebase cho Google Analytics
  • SDK nền tảng Apple v9.0.0+ hoặc SDK Android 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 được đánh giá là true đối với một bản cài đặt nhất định nếu ID của bản 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ể lấy ID cài đặt, hãy xem Truy xuất mã định danh máy khách .

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 cách sử dụ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 ký tự gạch dưới hoặc ký tự chữ cái tiếng Anh (AZ, az) và cũng có thể bao gồm các 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 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 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 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, hãy xem ngày thay đổi được xuất bản cho 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 lần cuối đối với 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 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 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 .