Thông số và điều kiện Cấu hình từ xa trong mẫu máy chủ

Chọn loại mẫu: Mẫu phía máy khách Mẫu phía máy chủ


Bạn có thể phân phát các tham số và giá trị Remote Config từ các mẫu dành riêng cho máy chủ đến các phương thức triển khai Remote Config (bao gồm cả Cloud Run và Cloud Functions for Firebase) sử dụng các môi trường máy chủ sau:

  • Firebase Admin Node.js SDK phiên bản 12.1.0 trở lên
  • Firebase Admin Python SDK phiên bản 6.7.0 trở lên
  • Firebase Admin Go SDK phiên bản 4.17.0 trở lên
  • Firebase Admin Java SDK phiên bản 9.7.0 trở lên

Khi sử dụng bảng điều khiển Firebase hoặc API phụ trợ Remote Config, bạn xác định một hoặc nhiều tham số (cặp khoá-giá trị) và cung cấp giá trị mặc định cho các tham số đó trong mã máy chủ. Bạn có thể ghi đè các giá trị mặc định bằng cách xác định giá trị tham số trong mẫu Remote Config. Khoá 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.

Khi sử dụng bảng điều khiển Firebase, Admin SDK hoặc Remote Config API REST, bạn có thể tạo các giá trị mặc định mới cho tham số, cũng như các giá trị có điều kiện dùng để nhắm đến các nhóm yêu cầu của ứng dụng. Mỗi lần bạn cập nhật cấu hì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 Remote Config. Phiên bản trước đó sẽ đượ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ể thực hiện các thao tác này trong bảng điều khiển Firebase, Firebase Admin SDK và API REST. Các thao tác này được mô tả chi tiết hơn trong phần Quản lý phiên bản mẫu Remote Config.

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 phần phụ trợ Remote Config và trong ứng dụng máy chủ của bạn. Hướng dẫn này cũng cung cấp thông tin chi tiết về các loại quy tắc dùng để tạo điều kiện.

Điều kiện, quy tắc và giá trị có điều kiện

Điều kiện được dùng để nhắm đến một nhóm yêu cầu của ứng dụng. Điều kiện bao gồm một hoặc nhiều quy tắc mà tất cả đều phải được đánh giá là true để điều kiện được đánh giá là true cho một yêu cầu nhất định của ứng dụng. 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ẽ cho kết quả là false.

Ví dụ: bạn có thể tạo một tham số xác định tên và chuỗi phiên bản của mô hình ngôn ngữ lớn (LLM), đồng thời phân phát câu trả lời từ nhiều mô hình dựa trên quy tắc tín hiệu tuỳ chỉnh. Trong trường hợp sử dụng này, bạn có thể dùng một phiên bản mô hình ổn định làm giá trị mặc định để phân phát hầu hết các yêu cầu và dùng tín hiệu tuỳ chỉnh để sử dụng một mô hình thử nghiệm nhằm phản hồi các yêu cầu kiểm thử của ứng dụng.

Một tham số có thể có nhiều giá trị có đ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ẻ điều kiện trong một dự án. Trong bảng điều khiển Firebase, hãy chuyển đến trang DevOps & Engagement (DevOps và mức độ tương tác) > Remote Config (Cấu hình từ xa) > Parameters (Thông số) để 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 thông 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ị.

Thêm, chỉnh sửa, sắp xếp lại hoặc xoá điều kiện bằng bảng điều khiển Firebase

Bạn có thể tạo, chỉnh sửa, sắp xếp lại và xoá các điều kiện nhắm mục tiêu trong bảng điều khiển Firebase. Các điều kiện được chia sẻ giữa các tham số trong một dự án. Sau đây là cách quản lý điều kiện:

  1. Trong bảng điều khiển Firebase, hãy chuyển đến trang DevOps & Engagement (DevOps và Tương tác) > Remote Config (Cấu hình từ xa) > Conditions (Điều kiện) (hoặc chọn Manage conditions (Quản lý điều kiện) trên trang Parameters (Tham số)).
  2. Thêm điều kiện: Nhấp vào Thêm điều kiện (hoặc Tạo điều kiện đầu tiên của bạn), nhập tên xác định mục tiêu nhắm mục tiêu và chọn một hoặc nhiều quy tắc nhắm mục tiêu.
  3. Chỉnh sửa điều kiện: Nhấp vào tên điều kiện hoặc biểu tượng chỉnh sửa, sửa đổi các quy tắc nếu cần, rồi nhấp vào Lưu.
  4. Thay đổi mức độ ưu tiên của điều kiện: Trên trang Điều kiện, hãy kéo các điều kiện bằng tay cầm để sắp xếp lại thứ tự. Các điều kiện ở vị trí cao hơn trong danh sách sẽ được ưu tiên hơn các điều kiện ở vị trí thấp hơn trong danh sách.
  5. Xoá điều kiện: Nhấp vào biểu tượng xoá bên cạnh điều kiện bạn muốn xoá. Nếu điều kiện được tham chiếu bởi bất kỳ tham số nào, thì việc xoá điều kiện đó cũng sẽ xoá các giá trị có điều kiện liên quan.

Sau khi bạn lưu các thay đổi về điều kiện, hãy xuất bản mẫu bằng cách nhấp vào Xuất bản các thay đổi.

Giới hạn của IPv6 đối với tính năng kiểm soát quyền truy cập dựa trên IP

Remote Config có hỗ trợ IPv6 nhưng chỉ ở mức hạn chế khi dùng với các chính sách truy cập dựa trên IP. Nếu tổ chức của bạn hạn chế quyền truy cập vào một số dải IP công khai, thì việc kết nối qua mạng IPv6 có thể gây ra các vấn đề sau:

  • Quyền truy cập vào bảng điều khiển: Bạn có thể không sử dụng được một số tính năng của Remote Config trong bảng điều khiển Firebase, chẳng hạn như tải dữ liệu hoặc thiết lập tiêu chí nhắm mục tiêu.
  • Quyền truy cập của ứng dụng: Ứng dụng có thể gặp lỗi PERMISSION_DENIED.

Để ngăn chặn những vấn đề này, hãy định cấu hình mạng của bạn để sử dụng IPv4 hoặc thêm các dải IP Firebase bắt buộc vào danh sách cho phép của tổ chức.

Mức độ ưu tiên giá trị tham số

Khi sử dụng Remote Config trong các ứng dụng máy chủ bằng Firebase Admin SDK, bạn sẽ tìm nạp và tải toàn bộ mẫu để trích xuất các giá trị tham số thích hợp theo yêu cầu cho mỗi yêu cầu của ứng dụng. Một tham số có thể có một số giá trị có điều kiện liên kết với tham số đó.

Các quy tắc sau đây xác định giá trị được chỉ định trong quá trình đánh giá mẫu tại một thời điểm cụ thể:

  1. Trước tiên, giá trị có điều kiện được áp dụng cho mọi điều kiện được đánh giá là true cho một yêu cầu nhất định của ứng dụng. Nếu nhiều điều kiện được đánh giá là true, thì điều kiện trên cùng xuất hiện 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 liên quan đến điều kiện đó sẽ được cung cấp khi mẫu được đánh giá. 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 trang Điều kiện.

  2. Nếu không có giá trị có điều kiện nào có điều kiện được đánh giá là true, thì giá trị mặc định của Remote Config sẽ được cung cấp trong quá trình đánh giá mẫu. Nếu một tham số không tồn tại trong mẫu 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ì không có giá trị nào được cung cấp cho tham số đó khi mẫu được đánh giá.

Để biết thêm thông tin về cách tải và đánh giá các mẫu Remote Config trong ứng dụng máy chủ, hãy xem bài viết Sử dụng Remote Config trong môi trường máy chủ.

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

Remote Config cho phép bạn chọn một kiểu dữ liệu cho mỗi tham số và xác thực tất cả giá trị Remote Config theo kiểu đó 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 dữ liệu đượ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 trong trình đơn thả xuống bên cạnh khoá tham số. Trong API REST, bạn có thể đặt các loại bằng cách sử dụng trường value_type trong đối tượng tham số.

Nhóm tham số

Remote Config cho phép bạn nhóm các tham số lại với nhau để có giao diện người dùng ngăn nắp hơn và khả năng hữu dụng cao 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 Remote Config, bạn có thể tạo ba tham số để bật các loại bạn muốn, sau đó sắp xếp các tham số đó vào một nhóm có tên là "Đă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 nhóm tham số bằng bảng điều khiển Firebase hoặc API REST Remote Config. Mỗi nhóm tham số bạn tạo đều có một tên riêng biệt trong mẫu Remote Config. Khi tạo nhóm tham số, hãy lưu ý những điều sau:

  • Bạn chỉ có thể đưa tham số vào một nhóm tại bất kỳ thời điểm nào và khoá tham số vẫn phải là duy nhất trong tất cả các tham số.
  • Tên nhóm tham số chỉ được có tối đa 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 phát hành.

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

Bạn có thể nhóm các tham số trong bảng điều khiển Firebase. Sau đây là cách tạo hoặc sửa đổi một nhóm:

  1. Trong bảng điều khiển Firebase, hãy chuyển đến trang DevOps & Engagement (DevOps và Mức độ tương tác) > Remote Config (Cấu hình từ xa) > Parameters (Tham số).
  2. Chọn Quản lý nhóm.
  3. Đánh dấu vào hộp cho các tham số bạn muốn thêm rồi chọn Di chuyển vào nhóm.
  4. 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à nội dung 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 thay đổi.

Loại quy tắc điều kiện

Mẫu Remote Config cho ứng dụng phía máy chủ hỗ trợ các loại điều kiện sau:

Người dùng theo tỷ lệ phần trăm ngẫu nhiên

Sử dụng trường này để áp dụng thay đổi cho một mẫu ngẫu nhiên gồm các phiên bản ứng dụng (với kích thước mẫu nhỏ đến mức 0,0001%), sử dụng tiện ích thanh trượt để phân đoạn 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 liên kết liên tục với một số nguyên hoặc số thập phân ngẫu nhiên, theo một hạt giống đượ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 hạt giống trong bảng điều khiển Firebase) trừ phi bạn sửa đổi giá trị của hạt giống. Bạn có thể đặt lại một quy tắc để sử dụng khoá mặc định bằng cách xoá trường Seed (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ị hạt giống trên các điều kiện. Hoặc chọn một nhóm thực thể ứng dụng mới được chỉ định ngẫu nhiên cho một phạm vi tỷ lệ 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 có liên quan, mỗi điều kiện áp dụng cho 5% người dùng không trùng lặp của một ứng dụng, 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 mỗi điều kiện.

Để tìm hiểu cách thêm điều kiện tỷ lệ phần trăm ngẫu nhiên vào ứng dụng, hãy xem phần Định cấu hình ứng dụng máy chủ.

Điều kiện về tín hiệu tuỳ chỉnh

Bạn có thể sử dụng các giá trị có điều kiện Tín hiệu tuỳ chỉnh để so khớp các điều kiện tuỳ ý mà bạn xác định trong ứng dụng. Nhờ đó, bạn có thể điều chỉnh phản hồi của máy chủ cho phù hợp với từng yêu cầu của ứng dụng khách. Các điều kiện tín hiệu tuỳ chỉnh được hỗ trợ từ các phiên bản môi trường máy chủ sau:

  • Firebase Admin Node.js SDK phiên bản 12.1.0 trở lên
  • Firebase Admin Python SDK phiên bản 6.7.0 trở lên
  • Firebase Admin Go SDK phiên bản 4.17.0 trở lên
  • Firebase Admin Java SDK phiên bản 9.7.0 trở lên

Ví dụ: nếu đang làm việc trên một ứng dụng máy chủ sử dụng AI tạo sinh để giúp tạo câu trả lời bằng nhiều mô hình được điều chỉnh cho phù hợp với các nền tảng cụ thể, bạn có thể làm như sau:

  1. Thêm tham số prompt và model_name vào mẫu máy chủ Remote Config.
  2. Thêm điều kiện tín hiệu tuỳ chỉnh có giá trị là platform cho mỗi nền tảng mà bạn muốn nhắm đến.
  3. Thêm giá trị mặc định vào mẫu Remote Config dành riêng cho máy chủ và giá trị có điều kiện cho từng điều kiện nền tảng mà bạn đã xác định.
  4. Cập nhật mã xử lý ứng dụng để đặt và sử dụng tín hiệu tuỳ chỉnh platform.

Giờ đây, ứng dụng của bạn có thể trích xuất câu lệnh và mô hình thích hợp trong quá trình đánh giá mẫu, đồng thời sử dụng chúng để trả về câu trả lời tuỳ chỉnh cho từng khách hàng.

Bạn có thể sử dụng các loại quy tắc sau để tạo điều kiện tín hiệu tuỳ chỉnh trong bảng điều khiển Firebase.

Danh mục nhà mạng Toán tử Giá trị
Văn bản khớp chính xác, chứa, không chứa, chứa biểu thức chính quy

Phép 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 chứa biểu thức chính quy, bạn có thể chọn nhiều giá trị.

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

Số <, <=, =, !=, >, >= Chữ số có tối đa 10 chữ số ở mỗi bên của dấu thập phân.
Phiên bản <, <=, =, !=, >, >= Chữ số đại diện cho số phiên bản cần so khớp (ví dụ: 2.1.0).

Để tìm hiểu cách thêm tín hiệu tuỳ chỉnh vào ứng dụng, hãy xem bài viết Định cấu hình ứng dụng máy chủ.

Tham số và điều kiện tìm kiếm

Bạn có thể tìm khoá tham số, giá trị tham số và điều kiện của dự án trong bảng điều khiển Firebase bằng cách sử dụng hộp tìm kiếm ở đầu trang DevOps & Engagement (DevOps và Tương tác) > Remote Config (Cấu hình từ xa) > Parameters (Tham số).

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 3.000 tham số và tối đa 2.000 điều kiện. Khoá 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 (A-Z, a-z) 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ự. Ngoài ra, các quy tắc điều kiện dựa trên thuộc tính người dùng có thể bao gồm tối đa 100 giá trị thuộc tính người dùng. Để xem danh sách đầy đủ các giới hạn, hãy xem phần Hạn mức và giới hạn.

Xem các thay đổi đối với 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 Remote Config trong 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 thông số hoặc điều kiện gần đây nhất.

  • 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 cho mẫu Remote Config đ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 mà thay đổi được xuất bản lên mẫu Remote Config đang hoạt động.

Nhật ký thay đổi cho tham số

Trong bảng điều khiển Firebase, hãy chuyển đến trang DevOps & Engagement (DevOps và Mức độ tương tác) > Remote Config (Cấu hình từ xa) > Parameters (Tham số). Cột Xuất bản gần đây nhất cho biết người dùng gần đây nhất đã sửa đổi từng tham số và ngày xuất bản gần đây nhất cho thay đổi đó:

  • Để xem siêu dữ liệu thay đổi cho 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 Lần xuất bản gần đây nhất.

Nhật ký thay đổi cho điều kiện

Trong bảng điều khiển Firebase, hãy chuyển đến trang DevOps & Engagement (DevOps và mức độ tương tác) > Remote Config (Cấu hình từ xa) > Conditions (Điều kiện). Bạn có thể xem người dùng gần đây nhất đã sửa đổi điều kiện và ngày họ sửa đổi điều kiện đó bên cạnh mục Lần sửa đổi gần đây nhất trong mỗi điều kiện.

Các bước tiếp theo

Để định cấu hình dự án Firebase và ứng dụng máy chủ nhằm sử dụng Remote Config, hãy xem bài viết Sử dụng Remote Config trong môi trường máy chủ.