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ủ. Khách hàng các mẫu được phân phát cho mọi phiên bản ứng dụng triển khai Firebase SDK ứng dụng khách cho Remote Config, bao gồm Android, Apple, Web, Unity, Ứng dụng Flutter và C . Thông số và giá trị Remote Config từ mẫu dành riêng cho máy chủ được phân phát cho các phương thức triển khai Remote Config (bao gồm Cloud Run và Cloud Functions) sử dụng Bảng điều khiển dành cho quản trị viên Firebase SDK Node.js phiên bản 12.1.0 trở lên.
Khi sử dụng bảng điều khiển Firebase hoặc Remote Config API phụ trợ, bạn xác định một hoặc nhiều thông số (khoá-giá trị) cặp) và cung cấp giá trị mặc định trong ứng dụng cho các 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 các 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 bạn.
Khi sử dụng bảng điều khiển Firebase, Admin SDK hoặc API REST của Remote Config, bạn có thể tạo các giá trị mặc định mới cho các tham số, cũng như giá trị có điều kiện được dùng để nhắm mục tiêu các nhóm ứng dụng thực thể. Mỗi lần bạn cập nhật cấu hình trong bảng điều khiển Firebase, Firebase tạo và phát hành phiên bản mới của mẫu Remote Config. 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ể xem các thao tác này qua bảng điều khiển Firebase, Firebase Admin SDK và API REST, đồng thời được mô tả rộng rãi hơn trong Quản lý Remote Config phiên bản mẫu.
Hướng dẫn này giải thích về các thông số, điều kiện, quy tắc, điều kiện giá trị và cách ưu tiên các giá trị thông số khác nhau Remote Config Máy chủ và trong ứng dụng của bạn. Công cụ 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 mục tiêu một nhóm các phiên bản ứng dụng. Có điều kiện
tối đa một hoặc nhiều quy tắc phải đánh giá thành true
cho điều kiện để
đánh giá thành true
cho một phiên bản ứng dụng cụ thể. Nếu giá trị của quy tắc là
không xác định (ví dụ: khi không có giá trị nào), quy tắc đó sẽ đánh giá là
false
.
Ví dụ: thông số xác định
trang chờ 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
:
Hoặc điều kiện thời gian có thể được dùng để kiểm soát thời điểm ứng dụng của bạn hiển thị đặc biệt các mặt hàng khuyến mãi.
Một thông số có thể có nhiều điều kiện các giá trị sử dụng các điều kiện khác nhau và các thông số có thể chia sẻ điều kiện trong một dự án. Trong thẻ Thông số trên bảng điều khiển Firebase, bạn có thể xem tỷ lệ phần trăm tìm nạp cho mỗi các giá trị có điều kiện của tham số đó. Chỉ số 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ị.
Mức độ ưu tiên giá trị thông số
Một thông số có thể liên kết với một số giá trị có điều kiện. Chiến lược phát hành đĩa đơn các quy tắc sau xác định giá trị nào được tìm nạp từ Remote Config Server 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ể trong thời gian:
Các giá trị thông số được tìm nạp theo mức độ ưu tiên sau đây danh sách
Đầu tiên, hệ thống sẽ áp dụng các giá trị có điều kiện, nếu có bất kỳ giá trị nào có điều kiện đánh giá sang
true
cho một phiên bản ứng dụng cụ thể. Nếu nhiều điều kiện có kết quả làtrue
, mục đầ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à giá trị có điều kiện 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 thẻ Đ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á là
true
, giá trị mặc định của Remote Config được cung cấp khi ứng dụng tìm nạp các giá trị từ phần phụ trợ. Trường hợp 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 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 thông 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 phương thức get
trả về giá trị tham số theo
danh sách ưu tiên sau đây
- Nếu một giá trị được tìm nạp từ phần phụ trợ rồi kích hoạt, ứ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ẽ không thay đổi.
Nếu không tìm nạp giá trị nào từ phần phụ trợ hoặc nếu giá trị được tìm nạp từ Phần phụ trợ Remote Config chưa được kích hoạt, ứng dụng sẽ dùng phần phụ trợ trong ứng dụng giá trị mặc định.
Để biết thêm thông tin về cách lấy và đặt giá trị mặc định, hãy xem 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, ứng dụng sẽ dùng kiểu 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ị thông số được ưu tiên trong Phần phụ trợ Remote Config và trong ứng dụng của bạn:
Các loại dữ liệu giá trị thông số
Remote Config cho phép bạn chọn một loại dữ liệu cho mỗi tham số, và
xác thực tất cả các giá trị Remote Config dựa trên loại đó trước một mẫu
cập nhật. Loại dữ liệu được lưu trữ và trả về trên getRemoteConfig
của bạn.
Các loại nội dung 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, bạn có thể chọn loại dữ liệu trong trình đơn thả xuống, tiếp theo
vào khoá tham số. Trong API REST, bạn có thể đặt các loại API bằng value_type
trong đối tượng tham số.
Nhóm thông số
Remote Config cho phép bạn nhóm các thông số lại với nhau để có giao diện ngăn nắp hơn Mô hình giao diện người dùng và tư duy.
Ví dụ: giả sử bạn cần bật hoặc tắt 3 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 Remote Config, bạn có thể tạo ba tham số để bật các loại theo ý muốn, sau đó sắp xếp chúng theo nhóm có tên "Thông tin đăng nhập mới" mà không cần thêm tiền tố hoặc cách sắp xếp đặc biệt.
Bạn có thể tạo các nhóm thông số bằng bảng điều khiển Firebase hoặc API REST Remote Config. Mỗi nhóm thông số bạn tạo có một tên riêng biệt mẫu Remote Config của bạn. Khi tạo các nhóm thông số, xin lưu ý:
- Bạn chỉ có thể bao gồm thông số trong một nhóm bất kỳ lúc nào và một thông số khoá vẫn phải là duy nhất trên tất cả các tham số.
- Tên nhóm thông 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 Cập nhật logic API REST để xử lý các nhóm thông số khi xuất bản.
Tạo hoặc sửa đổi nhóm thông số bằng bảng điều khiển Firebase
Bạn có thể nhóm các thông số trong Thẻ Thông số của bảng điều khiển Firebase. Cách tạo hoặc sửa đổi nhóm:
- Chọn Quản lý nhóm.
- Chọn hộp đánh dấu cho những thông số mà bạn muốn thêm rồi chọn Chuyển vào nhóm.
- Chọn một nhóm hiện có hoặc tạo 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 lưu một nhóm, bạn có thể xuất bản nhóm đó bằng cách sử dụng Nút Xuất bản các thay đổi.
Tạo nhóm theo phương thức lập trình
API REST Cấu hình từ xa cung cấp tự động để tạo và xuất bản các nhóm thông số. Giả sử bạn đã quen thuộc với REST và được thiết lập để uỷ quyền các yêu cầu cho API, bạn có thể thực hiện các bước sau để quản lý nhóm theo phương thức lập trình:
- Truy xuất mẫu hiện tại
- Thêm đối tượng JSON để đại diện cho các nhóm thông số
- Xuất bản các nhóm thông số bằng cách sử dụng yêu cầu HTTP PUT.
Đối tượng parameterGroups
chứa các khoá nhóm, có nội dung mô tả lồng nhau và
danh sách các tham số được nhóm. Lưu ý rằng mỗi khoá nhóm phải là duy nhất trên toàn hệ thống.
Ví dụ: đây là phần trích dẫn từ một bản sửa đổi mẫu có thêm thông số
nhóm "trình đơn mới" có 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." } } } } }
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. Tương đương có trong API REST Remote Config, như được nêu chi tiết trong tham chiếu biểu thức có điều kiện.
Loại quy tắc | (Các) nhà cung cấp dịch vụ | (Các) 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 Firebase của bạn dự á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 mã Android
tên gói xác định thuộc tính được hiển thị dưới dạng Mã ứng dụng trong
Remote Config quy tắc.
Sử dụng thuộc tính này như sau:
|
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 thức chính quy Đối với giá trị số: =, ≠, >, ≥, <, ≤ |
Chỉ định(các) phiên bản của ứng dụng cầ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 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: Dùng CFBundleShortVersionString của ứng dụng. Lưu ý: Hãy đảm bảo ứ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 phiên bản cũ hơn (xem ghi chú phát hành). Đối với Android: Dùng versionName của ứng dụng. Thông tin 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 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 chính quy biểu thức trong RE2 . Biểu thức chính quy có thể khớp với toàn bộ hoặc một phần của phiên bản đích . 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 các 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 của ứng dụng để 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 Mã ứng dụng để chọn Apple hoặc Ứng dụng Android được liên kết với dự án Firebase của bạn. |
Toán tử này chỉ dành cho các ứng dụng của Apple và Android. Nó tương ứng với CFBundleVersion cho Apple và versionCode cho Android. Các phép so sánh chuỗi cho quy tắc này phân biệt chữ hoa chữ thường. Khi sử dụng kết quả 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 chính quy biểu thức trong RE2 . Biểu thức chính quy có thể khớp với toàn bộ hoặc một phần của phiên bản đích . 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. |
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 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 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á là true cho một phiên bản ứng dụng web cụ thể nếu
hệ điều hành và phiên bản của hệ điều hành khớp với 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 cầ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 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á là true cho một phiên bản ứng dụng web cụ thể nếu
trình duyệt và phiên bản của trình duyệt khớp với 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 thiết bị không phải thiết bị di động (máy tính hoặc máy chơi trò chơi). Loại quy tắc này chỉ áp dụng cho web của chúng tôi. |
Ngôn ngữ | nằm trong | Chọn một hoặc nhiều ngôn ngữ. | Quy tắc này đánh giá là true cho một phiên bản ứng dụng cụ thể nếu điề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 những 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 hay quốc gia. | Quy tắc này đánh giá là true cho một phiên bản ứng dụng cụ thể nếu
doanh nghiệp ở 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 đị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).
|
(Các) đối tượng người dùng | Bao gồm ít nhất một | Chọn một hoặc nhiều đối tượng từ danh sách Google Analytics đối tượng 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 Mã ứng dụng để chọn một ứng dụng được liên kết với Dự án Firebase. 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 vào hành động của người dùng ứng dụng, có thể mất khoảng thời gian để quy tắc Người dùng trong đối tượng có hiệu lực cho một ứng dụng cụ thể thực thể. |
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 thức chính quy Đối với giá trị số: =, ≠, >, ≥, <, ≤ Lưu ý: Trên ứng dụng, bạn chỉ có thể đặt giá trị chuỗi cho người dùng các thuộc tính. Đối với các điều kiện sử dụng toán tử số, Remote Config chuyển đổi giá trị của giá trị tương ứng thuộc tính người dùng thành một số nguyên/số thực có độ chính xác đơn. |
Chọn trong danh sách Google Analytics người dùng hiện có các thuộc tính. | Tìm hiểu cách dùng thuộc tính người dùng để tuỳ chỉnh ứng dụng cho
các phân khúc người dùng rất cụ thể, 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 những hướng dẫn sau: Khi sử dụng kết quả 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 chính quy biểu thức trong RE2 . Biểu thức chính quy có thể khớp với toàn bộ hoặc một phần của phiên bản đích . 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. 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 Remote Config. |
Số 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 của Firebase. Chiến lược phát hành đĩa đơn
Sử dụng API REST
các toán tử <= , > và between ).
|
0-100 | Dùng trường này để áp dụng thay đổi cho một mẫu các phiên bản ứng dụng ngẫu nhiên (với kích thước mẫu nhỏ nhất là 0,0001%), sử dụng tiện ích thanh trượt để phân chia những người dùng được xáo trộn ngẫu nhiên (các phiên bản ứng dụng) thành các nhóm. Mỗi phiên bản ứng dụng được liên tục liên kết với một toàn bộ ngẫu nhiên hoặc số phân số, theo một số ngẫu nhiên được xác định trong dự án đó. Một quy tắc sẽ sử dụng khoá mặc định (hiển thị dưới dạng Chỉnh sửa nội dung gốc trong bảng điều khiển Firebase) trừ phi bạn sửa đổi giá trị gốc. Bạn có thể trả lại quy tắc về bằng cách sử dụng khoá mặc định bằng cách xoá trường Seed (Gốc). Để giải quyết nhất quán các phiên bản ứng dụng trong phạm vi tỷ lệ phần trăm nhất định sử dụng cùng một giá trị gốc trên các điều kiện. Hoặc chọn một nhóm bản sao ứng dụng đượ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 một 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 một không trùng lặp 5% số người dùng ứng dụng, bạn có thể thiết lập một điều kiện để 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 để khớp với một 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ị gốc khác nhau cho các quy tắc trong mỗi điều kiện. |
Phân khúc đã nhập | nằm 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 chế độ cài đặt tuỳ chỉnh phân khúc đã nhập. |
Ngày/giờ | Trước, Sau | Ngày và giờ được chỉ định, theo múi giờ của thiết bị hoặc theo múi giờ chỉ định 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ụ thể, theo múi giờ đã 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 phạm vi thời gian. Cần có các SDK sau đây:
|
Mã cài đặt | nằm trong | Chỉ định một hoặc nhiều Mã cài đặt (tối đa 50 mã) để nhắm mục tiêu. | Quy tắc này đánh giá là true cho một lượt cài đặt cụ thể nếu
mã của lượt 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 giá trị nhận dạng ứng dụng khách. |
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 mọi ứ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ể của ứng dụng hoặc nền tảng.
|
Đang tìm kiếm thông số và điều kiện
Bạn có thể tìm kiếm các khoá thông số, giá trị thông 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 thẻ Remote Config Thông số.
Các 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 2.000 thông số và tối đa 500 thông số . Các phím thông 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ể bao gồm số. Tổng độ dài của các chuỗi giá trị thông 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. Cho 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 gần đây nhất sửa đổi thông số hoặc điều kiện.
Nếu sự 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 Remote Config.
Nếu thay đổi đã xảy ra một hoặc nhiều ngày trước đó, hãy xem ngày mà nội dung thay đổi đã được xuất bản vào mẫu Remote Config đang hoạt động.
Thông số cập nhật
Trên 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 trang và ngày xuất bản gần đây nhất của thay đổi đó:
Để xem siêu dữ liệu về sự thay đổi của 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 Xuất bản lần gần đây nhất.
Thông tin cập nhật về tình trạng
Trên Remote Config trên trang Điều kiện, bạn có thể xem 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 mục Sửa đổi gần đây nhất bên dưới mỗi điều kiện.
Các bước tiếp theo
Để bắt đầu định cấu hình dự án Firebase, hãy xem Thiết lập một dự án Firebase Remote Config.