พารามิเตอร์และเงื่อนไขการกำหนดค่าระยะไกล


คุณกำหนดค่าเทมเพลตสำหรับทั้งกรณีการใช้งานฝั่งไคลเอ็นต์และฝั่งเซิร์ฟเวอร์ได้ ระบบจะแสดงเทมเพลต ไคลเอ็นต์ต่ออินสแตนซ์ของแอปที่ใช้ Firebase Client SDK สำหรับ Remote Config ซึ่งรวมถึงแอป Android, Apple, เว็บ, Unity, Flutter และ C++ พารามิเตอร์และค่า Remote Config จากเทมเพลตเฉพาะเซิร์ฟเวอร์จะแสดงต่อการติดตั้งใช้งาน Remote Config (รวมถึง Cloud Run และ Cloud Functions) ที่ใช้สภาพแวดล้อมเซิร์ฟเวอร์ต่อไปนี้

  • Firebase Admin Node.js SDK v12.1.0 ขึ้นไป
  • Firebase Admin Python SDK v6.7.0 ขึ้นไป

เมื่อใช้FirebaseคอนโซลหรือRemote ConfigAPI แบ็กเอนด์ คุณจะกำหนดพารามิเตอร์อย่างน้อย 1 รายการ (คู่คีย์-ค่า ) และระบุค่าเริ่มต้นในแอปสำหรับพารามิเตอร์เหล่านั้น คุณลบล้างค่าเริ่มต้นในแอปได้โดยการกำหนดค่าพารามิเตอร์ คีย์พารามิเตอร์และค่าพารามิเตอร์เป็นสตริง แต่คุณสามารถแคสต์ค่าพารามิเตอร์เป็นประเภทข้อมูลอื่นๆ ได้เมื่อใช้ค่าเหล่านี้ในแอป

การใช้Firebaseคอนโซล Admin SDK หรือ Remote Config REST API คุณสามารถสร้างค่าเริ่มต้นใหม่สำหรับพารามิเตอร์ รวมถึงค่าแบบมีเงื่อนไขที่ใช้เพื่อกำหนดเป้าหมายกลุ่มอินสแตนซ์ของแอป ทุกครั้งที่คุณอัปเดตการกำหนดค่าในFirebaseคอนโซล Firebase จะสร้างและเผยแพร่เทมเพลต Remote Config เวอร์ชันใหม่ ระบบจะจัดเก็บเวอร์ชันก่อนหน้าไว้เพื่อให้คุณดึงข้อมูลหรือย้อนกลับได้ตามต้องการ การดำเนินการเหล่านี้พร้อมให้คุณใช้งานในFirebase คอนโซล Firebase Admin SDK รวมถึง REST API และมีคำอธิบายเพิ่มเติมในหัวข้อจัดการเวอร์ชันเทมเพลตRemote Config

คู่มือนี้อธิบายพารามิเตอร์ เงื่อนไข กฎ ค่าแบบมีเงื่อนไข และวิธีจัดลําดับความสําคัญของค่าพารามิเตอร์ต่างๆ ในRemote Configแบ็กเอนด์และในแอป รวมถึงให้รายละเอียดเกี่ยวกับ ประเภทของกฎที่ใช้สร้างเงื่อนไข

เงื่อนไข กฎ และค่าตามเงื่อนไข

ใช้เงื่อนไขเพื่อกำหนดเป้าหมายกลุ่มอินสแตนซ์แอป เงื่อนไขประกอบด้วยกฎอย่างน้อย 1 ข้อที่ต้องประเมินเป็น true ทั้งหมดเพื่อให้เงื่อนไขประเมินเป็น true สำหรับอินสแตนซ์แอปที่กำหนด หากค่าของกฎเป็น undefined (เช่น เมื่อไม่มีค่า) กฎนั้นจะประเมินเป็น false

เช่น พารามิเตอร์ที่กำหนดหน้า Splash ของแอปอาจแสดงรูปภาพที่แตกต่างกันตามประเภทระบบปฏิบัติการโดยใช้กฎ if device_os = Android ดังนี้

ภาพหน้าจอของพารามิเตอร์ "splash_page" ใน Firebase Console ซึ่งแสดงค่าเริ่มต้นสำหรับ iOS และค่าแบบมีเงื่อนไขสำหรับ Android

หรืออาจใช้เงื่อนไขเวลาเพื่อควบคุมเวลาที่แอปแสดง รายการโปรโมชันพิเศษ

พารามิเตอร์อาจมีค่าแบบมีเงื่อนไขหลายค่าที่ใช้เงื่อนไขที่แตกต่างกัน และพารามิเตอร์สามารถแชร์เงื่อนไขภายในโปรเจ็กต์ได้ ในแท็บพารามิเตอร์ ของFirebaseคอนโซล คุณจะดูเปอร์เซ็นต์การดึงข้อมูลสำหรับค่าแบบมีเงื่อนไขของพารามิเตอร์แต่ละรายการได้ เมตริกนี้ระบุเปอร์เซ็นต์ของคำขอ ในช่วง 24 ชั่วโมงที่ผ่านมาซึ่งได้รับค่าแต่ละค่า

ลำดับความสำคัญของค่าพารามิเตอร์

พารามิเตอร์อาจมีค่าแบบมีเงื่อนไขหลายค่าที่เชื่อมโยงอยู่ กฎต่อไปนี้จะกำหนดค่าที่จะดึงจากRemote Config เทมเพลต และค่าที่จะใช้ในอินสแตนซ์แอปที่กำหนด ณ จุดหนึ่ง ในเวลาใดเวลาหนึ่ง

  1. ก่อนอื่น ระบบจะใช้ค่าแบบมีเงื่อนไขสำหรับเงื่อนไขใดๆ ที่ประเมินเป็น true สำหรับคำขอของไคลเอ็นต์ที่ระบุ หากเงื่อนไขหลายรายการประเมินค่าเป็น true เงื่อนไขแรก (ด้านบน) ที่แสดงใน UI ของคอนโซล Firebase จะมีลำดับความสำคัญสูงกว่า และระบบจะระบุค่าแบบมีเงื่อนไข ที่เชื่อมโยงกับเงื่อนไขนั้นเมื่อแอปดึงข้อมูลจากแบ็กเอนด์ คุณเปลี่ยนลำดับความสำคัญของเงื่อนไขได้โดยการลาก และวางเงื่อนไขในแท็บเงื่อนไข

  2. หากไม่มีค่าแบบมีเงื่อนไขที่มีเงื่อนไขที่ประเมินเป็น true, ระบบจะระบุค่าเริ่มต้นของ Remote Config เมื่อแอปดึงข้อมูล จากแบ็กเอนด์ หากไม่มีพารามิเตอร์ในแบ็กเอนด์ หรือหากตั้งค่าเริ่มต้นเป็นใช้ค่าเริ่มต้นในแอป ระบบจะไม่ระบุค่าสำหรับพารามิเตอร์นั้นเมื่อแอปดึงค่า

ในแอป ค่าพารามิเตอร์จะแสดงผลโดยเมธอด get ตาม รายการลำดับความสำคัญต่อไปนี้

  1. หากดึงค่าจากแบ็กเอนด์แล้วเปิดใช้งาน แอปจะใช้ ค่าที่ดึงมา ค่าพารามิเตอร์ที่เปิดใช้งานจะยังคงอยู่
  2. หากดึงค่าจากแบ็กเอนด์ไม่ได้ หรือหากยังไม่ได้เปิดใช้งานค่าที่ดึงมาจากแบ็กเอนด์ของ Remote Config แอปจะใช้ค่าเริ่มต้นในแอป

    ดูข้อมูลเพิ่มเติมเกี่ยวกับการขอรับและการตั้งค่าเริ่มต้นได้ที่ ดาวน์โหลดค่าเริ่มต้นของเทมเพลต Remote Config

  3. หากไม่ได้ตั้งค่าเริ่มต้นในแอปไว้ แอปจะใช้ค่าประเภทคงที่ (เช่น 0 สำหรับ int และ false สำหรับ boolean)

กราฟิกนี้สรุปวิธีจัดลําดับความสําคัญของค่าพารามิเตอร์ในRemote Configแบ็กเอนด์และในแอป

แผนภาพแสดงโฟลว์ที่อธิบายโดยรายการที่เรียงลำดับข้างต้น

ประเภทข้อมูลค่าพารามิเตอร์

Remote Config ช่วยให้คุณเลือกประเภทข้อมูลสำหรับแต่ละพารามิเตอร์ และ ตรวจสอบค่า Remote Config ทั้งหมดกับประเภทนั้นก่อนที่จะอัปเดตเทมเพลต ระบบจะจัดเก็บและแสดงผลประเภทข้อมูลในgetRemoteConfig คำขอ

ประเภทข้อมูลที่รองรับ ได้แก่

  • String
  • Boolean
  • Number
  • JSON

ใน UI ของคอนโซล Firebase คุณเลือกประเภทข้อมูลได้จาก เมนูแบบเลื่อนลงข้างคีย์พารามิเตอร์ ใน REST API คุณตั้งค่าประเภทได้โดยใช้ ฟิลด์ value_type ภายในออบเจ็กต์พารามิเตอร์

กลุ่มพารามิเตอร์

Remote Config ช่วยให้คุณจัดกลุ่มพารามิเตอร์ไว้ด้วยกันเพื่อให้ UI เป็นระเบียบมากขึ้น และเพิ่มความสามารถในการใช้งาน

ตัวอย่างเช่น สมมติว่าคุณต้องเปิดหรือปิดใช้ประเภทการตรวจสอบสิทธิ์ 3 ประเภทที่แตกต่างกัน ขณะเปิดตัวฟีเจอร์การเข้าสู่ระบบใหม่ ด้วย Remote Config คุณสามารถสร้าง พารามิเตอร์ทั้ง 3 รายการเพื่อเปิดใช้ประเภทที่ต้องการ แล้วจัดระเบียบพารามิเตอร์เหล่านั้นใน กลุ่มชื่อ "การเข้าสู่ระบบใหม่" โดยไม่ต้องเพิ่มคำนำหน้าหรือการจัดเรียงพิเศษ

คุณสร้างกลุ่มพารามิเตอร์ได้โดยใช้คอนโซล Firebase หรือ REST API ของ Remote Config กลุ่มพารามิเตอร์แต่ละกลุ่มที่คุณสร้างจะมีชื่อที่ไม่ซ้ำกันในเทมเพลต Remote Config เมื่อสร้างกลุ่มพารามิเตอร์ โปรดคำนึงถึงสิ่งต่อไปนี้

  • พารามิเตอร์จะรวมอยู่ในกลุ่มได้เพียงกลุ่มเดียวในแต่ละครั้ง และคีย์พารามิเตอร์ ยังคงต้องไม่ซ้ำกันในพารามิเตอร์ทั้งหมด
  • ชื่อกลุ่มพารามิเตอร์มีความยาวได้ไม่เกิน 256 อักขระ
  • หากคุณใช้ทั้ง REST API และFirebaseคอนโซล โปรดตรวจสอบว่าได้อัปเดตตรรกะ REST API เพื่อจัดการกลุ่มพารามิเตอร์ในการเผยแพร่แล้ว

สร้างหรือแก้ไขกลุ่มพารามิเตอร์โดยใช้Firebaseคอนโซล

คุณจัดกลุ่มพารามิเตอร์ได้ในแท็บพารามิเตอร์ของคอนโซล Firebase วิธีสร้างหรือแก้ไขกลุ่ม

  1. เลือกจัดการกลุ่ม
  2. เลือกช่องทําเครื่องหมายสําหรับพารามิเตอร์ที่ต้องการเพิ่ม แล้วเลือกย้ายไปยังกลุ่ม
  3. เลือกกลุ่มที่มีอยู่ หรือสร้างกลุ่มใหม่โดยป้อนชื่อและ คำอธิบาย แล้วเลือกสร้างกลุ่มใหม่ หลังจากบันทึกกลุ่มแล้ว คุณจะเผยแพร่กลุ่มได้โดยใช้ปุ่มเผยแพร่การเปลี่ยนแปลง

สร้างกลุ่มแบบเป็นโปรแกรม

REST API ของการกำหนดค่าระยะไกลมีวิธีอัตโนมัติในการสร้างและเผยแพร่กลุ่มพารามิเตอร์ หากคุณคุ้นเคยกับ REST และตั้งค่าเพื่อให้สิทธิ์คำขอไปยัง API แล้ว คุณจะทำตามขั้นตอนต่อไปนี้เพื่อจัดการกลุ่มแบบเป็นโปรแกรมได้

  1. ดึงข้อมูลเทมเพลตปัจจุบัน
  2. เพิ่มออบเจ็กต์ JSON เพื่อแสดงกลุ่มพารามิเตอร์
  3. เผยแพร่กลุ่มพารามิเตอร์โดยใช้คำขอ HTTP PUT

ออบเจ็กต์ parameterGroups มีคีย์กลุ่มพร้อมคำอธิบายที่ซ้อนกันและ รายการพารามิเตอร์ที่จัดกลุ่ม โปรดทราบว่าคีย์กลุ่มแต่ละรายการต้องไม่ซ้ำกันทั่วโลก

ตัวอย่างเช่น ต่อไปนี้เป็นข้อความที่ตัดตอนมาจากการแก้ไขเทมเพลตซึ่งเพิ่มพารามิเตอร์ กลุ่ม "เมนูใหม่" ที่มีพารามิเตอร์ 1 รายการ pumpkin_spice_season:

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

    …

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

เงื่อนไขสัญญาณที่กำหนดเอง

ค่าแบบมีเงื่อนไขของสัญญาณที่กำหนดเองสามารถใช้เพื่อจับคู่สัญญาณที่กำหนดเองซึ่ง คุณกำหนดและส่งในแอปพลิเคชันกับเงื่อนไขที่คุณสร้างขึ้นตาม สัญญาณใน Remote Config ซึ่งช่วยให้คุณปรับแต่งประสบการณ์ฝั่งแอปหรือฝั่งไคลเอ็นต์ได้

เงื่อนไขสัญญาณที่กำหนดเองใช้ได้กับสภาพแวดล้อมไคลเอ็นต์ต่อไปนี้

  • iOS: v11.8.0 ขึ้นไป
  • Android: v22.1.0 ขึ้นไป (Firebase BoM v33.8.0 ขึ้นไป)
  • เว็บ: v11.2.0 ขึ้นไป
  • Flutter: Flutter BoM เวอร์ชัน 3.6.0 ขึ้นไป

ตัวอย่างเช่น สมมติว่าคุณกำลังทำงานในแอปขายตั๋วและต้องการ แสดงแบนเนอร์ในหน้าจอหลัก คุณใช้เงื่อนไขสัญญาณที่กำหนดเองฝั่งไคลเอ็นต์ เพื่อปรับแบนเนอร์เหล่านี้ตามตำแหน่งและความสนใจของผู้ใช้ได้ คุณสามารถทำสิ่งต่อไปนี้ได้

  1. เพิ่ม banner_image_url และ banner_link ลงในเทมเพลตไคลเอ็นต์ Remote Config ซึ่งแสดงถึงรูปภาพของแบนเนอร์และหน้ากิจกรรม ที่เชื่อมโยงกับรูปภาพนี้
  2. ตั้งค่าสัญญาณที่กำหนดเองจากแอปด้วยค่า city และ preferred_event_category
  3. เพิ่มค่าเริ่มต้นลงในRemote Configเทมเพลตเฉพาะไคลเอ็นต์และ สร้างค่าแบบมีเงื่อนไขตามสัญญาณที่กำหนดเองที่คุณตั้งค่าไว้ในขั้นตอนก่อนหน้า
  4. เพิ่มค่าเริ่มต้นลงในRemote Configเทมเพลตเฉพาะลูกค้าและ ค่าแบบมีเงื่อนไขสำหรับแต่ละเงื่อนไขที่คุณกำหนด
  5. อัปเดตโค้ดแอปพลิเคชันเพื่อตั้งค่าและใช้เงื่อนไขสัญญาณที่กำหนดเอง

ตอนนี้แอปของคุณสามารถดาวน์โหลด banner_image_url และ banner_link ที่เหมาะสมได้ เมื่อเรียกข้อมูลพารามิเตอร์เหล่านี้จากเซิร์ฟเวอร์ Remote Config

จำกัดสูงสุด

เมื่อสร้างเงื่อนไขสัญญาณที่กำหนดเอง คุณต้องปฏิบัติตามขีดจำกัดต่อไปนี้

  • จำนวนสัญญาณที่กำหนดเอง: คุณสร้างเงื่อนไขสัญญาณที่กำหนดเองได้สูงสุด 100 รายการ
  • ชื่อสัญญาณที่กำหนดเอง: ชื่อสัญญาณที่กำหนดเองแต่ละชื่อมีความยาวได้สูงสุด 250 อักขระ
  • ค่าสัญญาณที่กำหนดเอง: ค่าสัญญาณที่กำหนดเองแต่ละค่ามีอักขระได้สูงสุด 500 ตัว เมื่อใช้นิพจน์ทั่วไป ระบบจะจำกัดจำนวนอักขระไว้ที่ 250 ตัว

ประเภทกฎเงื่อนไข

คอนโซล Firebase รองรับกฎประเภทต่อไปนี้ ฟีเจอร์ที่เทียบเท่ากันมีอยู่ใน Remote Config REST API ตามที่ระบุไว้ในการอ้างอิงนิพจน์แบบมีเงื่อนไข

ประเภทของกฎ ผู้ประกอบการ ค่า หมายเหตุ
แอป == เลือกจากรายการรหัสแอปสำหรับแอปที่เชื่อมโยงกับโปรเจ็กต์ Firebase เมื่อเพิ่มแอปไปยัง Firebase คุณจะป้อนรหัสชุดหรือชื่อแพ็กเกจ Android ที่กำหนดแอตทริบิวต์ซึ่งแสดงเป็นรหัสแอปในRemote Configกฎ

ใช้แอตทริบิวต์นี้ดังนี้
  • สําหรับแพลตฟอร์ม Apple: ใช้ CFBundleIdentifier ของแอป คุณจะพบตัวระบุแพ็กเกจในแท็บทั่วไปของเป้าหมายหลักของแอปใน Xcode
  • สำหรับ Android: ใช้ applicationId ของแอป คุณดู applicationId ได้ในไฟล์ build.gradle(.kts) ระดับแอป
เวอร์ชันของแอป สำหรับค่าสตริง:
ตรงกันทุกประการ
มี
ไม่มี
มีนิพจน์ทั่วไป

สำหรับค่าตัวเลข:
<, <=, =, !=, >, >=

ระบุเวอร์ชันของแอปที่จะกำหนดเป้าหมาย

ก่อนใช้กฎนี้ คุณต้องใช้กฎรหัสแอปเพื่อเลือกแอป Android/Apple ที่เชื่อมโยงกับโปรเจ็กต์ Firebase

สำหรับแพลตฟอร์ม Apple: ใช้ CFBundleShortVersionString ของแอป

หมายเหตุ: ตรวจสอบว่าแอป Apple ของคุณใช้ Firebase Apple Platforms SDK เวอร์ชัน 6.24.0 ขึ้นไป เนื่องจากระบบจะไม่ส่ง CFBundleShortVersionString ใน เวอร์ชันก่อนหน้า (ดูหมายเหตุประจำรุ่น)

สำหรับ Android: ใช้ versionName ของแอป

การเปรียบเทียบสตริงสำหรับกฎนี้จะคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ เมื่อใช้โอเปอเรเตอร์ตรงทุกประการกับ มี ไม่มี หรือมีนิพจน์ทั่วไป คุณจะเลือกค่าได้หลายค่า

เมื่อใช้ตัวดำเนินการมีนิพจน์ทั่วไป คุณจะสร้างนิพจน์ทั่วไปในรูปแบบ RE2 ได้ นิพจน์ทั่วไปสามารถจับคู่สตริงเวอร์ชันเป้าหมายทั้งหมดหรือบางส่วน นอกจากนี้ คุณยังใช้จุดยึด ^ และ $ เพื่อจับคู่ จุดเริ่มต้น จุดสิ้นสุด หรือทั้งหมดของสตริงเป้าหมายได้ด้วย

หมายเลขบิลด์ สำหรับค่าสตริง:
ตรงกันทุกประการ
มี
ไม่มี
นิพจน์ทั่วไป

สำหรับค่าตัวเลข:
=, ≠, >, ≥, <, ≤

ระบุบิลด์ของแอปที่จะกำหนดเป้าหมาย

ก่อนใช้กฎนี้ คุณต้องใช้กฎรหัสแอปเพื่อเลือกแอป Apple หรือ Android ที่เชื่อมโยงกับโปรเจ็กต์ Firebase

ตัวดำเนินการนี้ใช้ได้กับแอป Apple และ Android เท่านั้น ซึ่งสอดคล้องกับ CFBundleVersion ของแอปสำหรับ Apple และ versionCode สำหรับ Android การเปรียบเทียบสตริงสำหรับกฎนี้จะคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่

เมื่อใช้โอเปอเรเตอร์ตรงทุกประการกับ มี ไม่มี หรือมีนิพจน์ทั่วไป คุณจะเลือกค่าได้หลายค่า

เมื่อใช้ตัวดำเนินการมีนิพจน์ทั่วไป คุณจะสร้างนิพจน์ทั่วไปในรูปแบบ RE2 ได้ นิพจน์ทั่วไปสามารถจับคู่สตริงเวอร์ชันเป้าหมายทั้งหมดหรือบางส่วนได้ คุณยังใช้เครื่องหมายยึด ^ และ $ เพื่อจับคู่ จุดเริ่มต้น จุดสิ้นสุด หรือทั้งสตริงเป้าหมายได้ด้วย

แพลตฟอร์ม == iOS
Android
เว็บ
 
ระบบปฏิบัติการ ==

ระบุระบบปฏิบัติการที่จะกำหนดเป้าหมาย

ก่อนใช้กฎนี้ คุณต้องใช้กฎรหัสแอปเพื่อเลือกเว็บแอปที่เชื่อมโยงกับโปรเจ็กต์ Firebase

กฎนี้จะประเมินเป็น true สำหรับอินสแตนซ์ของเว็บแอปที่กำหนด หากระบบปฏิบัติการและเวอร์ชันตรงกับค่าเป้าหมายในรายการที่ระบุ
เบราว์เซอร์ ==

ระบุเบราว์เซอร์ที่จะกำหนดเป้าหมาย

ก่อนใช้กฎนี้ คุณต้องใช้กฎรหัสแอปเพื่อเลือกเว็บแอปที่เชื่อมโยงกับโปรเจ็กต์ Firebase

กฎนี้จะประเมินเป็น true สำหรับอินสแตนซ์ของเว็บแอปที่กำหนด หากเบราว์เซอร์และเวอร์ชันตรงกับค่าเป้าหมายในรายการที่ระบุ
หมวดหมู่ของอุปกรณ์ เท่ากับ ไม่เท่ากับ อุปกรณ์เคลื่อนที่ กฎนี้จะประเมินว่าอุปกรณ์ที่เข้าถึงเว็บแอปเป็นอุปกรณ์เคลื่อนที่หรือ ไม่ใช่ (เดสก์ท็อปหรือคอนโซล) ประเภทกฎนี้ใช้ได้กับเว็บแอปเท่านั้น
ภาษา อยู่ใน เลือกอย่างน้อย 1 ภาษา กฎนี้จะประเมินเป็น true สำหรับอินสแตนซ์แอปที่กำหนด หากอินสแตนซ์แอปนั้น ติดตั้งในอุปกรณ์ที่ใช้ภาษาใดภาษาหนึ่งที่ระบุไว้
ประเทศ/ภูมิภาค อยู่ใน เลือกภูมิภาคหรือประเทศอย่างน้อย 1 รายการ กฎนี้จะประเมินเป็น true สำหรับอินสแตนซ์แอปที่กำหนด หากอินสแตนซ์อยู่ในภูมิภาคหรือประเทศใดประเทศหนึ่งที่ระบุไว้ รหัสประเทศของอุปกรณ์ จะกำหนดโดยใช้ที่อยู่ IP ของอุปกรณ์ในคำขอหรือรหัสประเทศ ที่กำหนดโดย Firebase Analytics (หากแชร์ข้อมูล Analytics กับ Firebase)
กลุ่มเป้าหมายที่เป็นผู้ใช้ รวมอย่างน้อย 1 รายการ เลือกอย่างน้อย 1 รายการจากรายการกลุ่มเป้าหมาย Google Analytics ที่ คุณตั้งค่าไว้สําหรับโปรเจ็กต์

กฎนี้กำหนดให้ต้องมีกฎรหัสแอปเพื่อเลือกแอปที่เชื่อมโยงกับโปรเจ็กต์ Firebase

หมายเหตุ: เนื่องจากAnalyticsกลุ่มเป้าหมายจํานวนมากกําหนดโดยเหตุการณ์หรือ พร็อพเพอร์ตี้ผู้ใช้ ซึ่งอาจอิงตามการกระทําของผู้ใช้แอป กฎผู้ใช้ในกลุ่มเป้าหมายอาจใช้เวลาสักครู่จึงจะมีผลสําหรับอินสแตนซ์แอปที่กําหนด

พร็อพเพอร์ตี้ผู้ใช้ สำหรับค่าสตริง:
มี
ไม่มี
ตรงกันทุกประการ
มีนิพจน์ทั่วไป

สำหรับค่าตัวเลข:
=, ≠, >, ≥, <, ≤

หมายเหตุ: ในไคลเอ็นต์ คุณจะตั้งค่าสตริงสำหรับพร็อพเพอร์ตี้ผู้ใช้ได้เท่านั้น สําหรับเงื่อนไขที่ใช้ตัวดำเนินการที่เป็นตัวเลข Remote Config จะแปลงค่าของพร็อพเพอร์ตี้ผู้ใช้ที่เกี่ยวข้อง เป็นจำนวนเต็ม/จำนวนทศนิยม
เลือกจากรายการGoogle Analyticsพร็อพเพอร์ตี้ผู้ใช้ ที่มีอยู่ ดูวิธีใช้พร็อพเพอร์ตี้ผู้ใช้เพื่อปรับแต่งแอปสำหรับ กลุ่มฐานผู้ใช้ที่เฉพาะเจาะจงมากได้ที่ Remote Configและพร็อพเพอร์ตี้ผู้ใช้

ดูข้อมูลเพิ่มเติมเกี่ยวกับพร็อพเพอร์ตี้ผู้ใช้ได้ในคำแนะนำต่อไปนี้

เมื่อใช้โอเปอเรเตอร์ตรงทุกประการกับ มี ไม่มี หรือมีนิพจน์ทั่วไป คุณจะเลือกค่าได้หลายค่า

เมื่อใช้ตัวดำเนินการมีนิพจน์ทั่วไป คุณจะสร้างนิพจน์ทั่วไปในรูปแบบ RE2 ได้ นิพจน์ทั่วไปสามารถจับคู่สตริงเวอร์ชันเป้าหมายทั้งหมดหรือบางส่วนได้ คุณยังใช้เครื่องหมายยึด ^ และ $ เพื่อจับคู่ จุดเริ่มต้น จุดสิ้นสุด หรือทั้งสตริงเป้าหมายได้ด้วย

หมายเหตุ: พร็อพเพอร์ตี้ผู้ใช้ที่รวบรวมโดยอัตโนมัติ จะใช้ไม่ได้เมื่อสร้างเงื่อนไข Remote Config
ผู้ใช้ในเปอร์เซ็นต์แบบสุ่ม แถบเลื่อน (ในคอนโซล Firebase REST API ใช้ตัวดำเนินการ <=, > และ between 0-100

ใช้ช่องนี้เพื่อใช้การเปลี่ยนแปลงกับตัวอย่างแบบสุ่มของอินสแตนซ์แอป (โดยมีขนาดตัวอย่างเล็กเพียง 0.0001%) โดยใช้แถบเลื่อนเพื่อแบ่งกลุ่มผู้ใช้ที่สับเปลี่ยนแบบสุ่ม (อินสแตนซ์แอป) ออกเป็นกลุ่ม

ระบบจะแมปอินสแตนซ์ของแอปแต่ละรายการกับจำนวนเต็มหรือเศษส่วนแบบสุ่มอย่างต่อเนื่องตามค่าเริ่มต้นที่กำหนดไว้ในโปรเจ็กต์นั้น

กฎจะใช้คีย์เริ่มต้น (แสดงเป็นแก้ไข Seed ในคอนโซล Firebase) เว้นแต่คุณจะ แก้ไขค่า Seed คุณสามารถเปลี่ยนกฎกลับไปใช้คีย์เริ่มต้นได้โดยล้างช่องSeed

หากต้องการกำหนดอินสแตนซ์แอปเดียวกันอย่างสม่ำเสมอภายในช่วงเปอร์เซ็นต์ที่กำหนด ให้ใช้ค่า Seed เดียวกันในเงื่อนไขต่างๆ หรือเลือกกลุ่มอินสแตนซ์แอปที่กำหนดใหม่แบบสุ่มสำหรับช่วงเปอร์เซ็นต์ที่กำหนดโดยการระบุ Seed ใหม่

ตัวอย่างเช่น หากต้องการสร้างเงื่อนไขที่เกี่ยวข้อง 2 รายการซึ่งแต่ละรายการใช้กับผู้ใช้แอป 5% ที่ไม่ทับซ้อนกัน คุณสามารถกำหนดค่าเงื่อนไขหนึ่งให้ตรงกับเปอร์เซ็นต์ระหว่าง 0% ถึง 5% และกำหนดค่า อีกเงื่อนไขหนึ่งให้ตรงกับช่วงระหว่าง 5% ถึง 10% หากต้องการอนุญาตให้ผู้ใช้บางรายปรากฏแบบสุ่มในทั้ง 2 กลุ่ม ให้ใช้ค่าเริ่มต้นที่แตกต่างกันสำหรับกฎภายในแต่ละเงื่อนไข

กลุ่มที่นำเข้า อยู่ใน เลือกกลุ่มที่นําเข้าอย่างน้อย 1 กลุ่ม กฎนี้กำหนดให้ตั้งค่ากลุ่มที่นำเข้าที่กำหนดเอง
วันที่/เวลา ก่อน หลัง วันที่และเวลาที่ระบุ ไม่ว่าจะเป็นในเขตเวลาของอุปกรณ์หรือเขตเวลาที่ระบุ เช่น "(GMT+11) เวลาซิดนีย์" เปรียบเทียบเวลาปัจจุบันกับเวลาที่อุปกรณ์ดึงข้อมูล
การเปิดครั้งแรก ก่อน หลัง วันที่และเวลาที่ระบุในเขตเวลาที่ระบุ

จับคู่ผู้ใช้ที่เปิดแอปเป้าหมายเป็นครั้งแรกภายในช่วงเวลาที่ระบุ

ต้องใช้ SDK ต่อไปนี้

  • Firebase SDK สำหรับ Google Analytics
  • SDK ของแพลตฟอร์ม Apple เวอร์ชัน 9.0.0 ขึ้นไปหรือ Android SDK เวอร์ชัน 21.1.1 ขึ้นไป (Firebase BoM เวอร์ชัน 30.3.0 ขึ้นไป)
รหัสการติดตั้ง อยู่ใน ระบุรหัสการติดตั้งอย่างน้อย 1 รหัส (สูงสุด 50 รหัส) เพื่อกำหนดเป้าหมาย กฎนี้จะประเมินเป็น true สำหรับการติดตั้งที่กำหนด หากรหัสของการติดตั้งนั้นอยู่ในรายการค่าที่คั่นด้วยคอมมา

ดูวิธีรับรหัสการติดตั้งได้ที่ เรียกข้อมูลตัวระบุไคลเอ็นต์
มีผู้ใช้ (ไม่มีโอเปอเรเตอร์) กำหนดเป้าหมายเป็นผู้ใช้ทั้งหมดของแอปทั้งหมดภายในโปรเจ็กต์ปัจจุบัน

ใช้กฎเงื่อนไขนี้เพื่อจับคู่ผู้ใช้ทั้งหมดภายในโปรเจ็กต์ ไม่ว่าจะเป็นแอปหรือแพลตฟอร์มใดก็ตาม

สัญญาณที่กำหนดเอง สำหรับค่าสตริง
มี
ไม่มี
ตรงกันทุกประการ
มีนิพจน์ทั่วไป

สำหรับค่าตัวเลข
=, ≠, >, ≥, <, ≤

สำหรับค่าเวอร์ชัน
=, ≠, >, ≥, <, ≤

การเปรียบเทียบสตริงสำหรับกฎนี้จะคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ เมื่อใช้โอเปอเรเตอร์การทำงานแบบตรงทั้งหมด ประกอบด้วย ไม่มี หรือมีนิพจน์ทั่วไป คุณจะเลือกค่าได้หลายค่า เมื่อใช้ตัวดำเนินการนิพจน์ทั่วไปที่มีคำว่า "มี" คุณจะสร้างนิพจน์ทั่วไปในรูปแบบ RE2 ได้ นิพจน์ทั่วไปสามารถจับคู่สตริงเวอร์ชันเป้าหมายทั้งหมดหรือบางส่วนได้ นอกจากนี้ คุณยังใช้เครื่องหมาย ^ และ $ เพื่อจับคู่จุดเริ่มต้น จุดสิ้นสุด หรือทั้งสตริงเป้าหมายได้ด้วย

ระบบรองรับประเภทข้อมูลต่อไปนี้สำหรับสภาพแวดล้อมของไคลเอ็นต์
  • iOS: int, double
  • Android: int, long, double
  • เว็บ: ตัวเลข

ตัวเลขที่แสดงหมายเลขเวอร์ชันที่จะจับคู่ (เช่น 2.1.0)

ดูข้อมูลเพิ่มเติมเกี่ยวกับเงื่อนไขของสัญญาณที่กำหนดเองและนิพจน์แบบมีเงื่อนไขที่จะใช้ได้ที่เงื่อนไขของสัญญาณที่กำหนดเองและองค์ประกอบที่ใช้สร้างเงื่อนไข

ค้นหาพารามิเตอร์และเงื่อนไข

คุณสามารถค้นหาคีย์พารามิเตอร์ ค่าพารามิเตอร์ และเงื่อนไขของโปรเจ็กต์ได้จากคอนโซล Firebase โดยใช้ช่องค้นหาที่ด้านบนของแท็บRemote Config พารามิเตอร์

ขีดจำกัดของพารามิเตอร์และเงื่อนไข

ภายในโปรเจ็กต์ Firebase คุณจะมีพารามิเตอร์ได้สูงสุด 2,000 รายการ และเงื่อนไขได้สูงสุด 500 รายการ คีย์พารามิเตอร์ยาวได้สูงสุด 256 อักขระ ต้องขึ้นต้นด้วยขีดล่างหรือตัวอักษรภาษาอังกฤษ (A-Z, a-z) และอาจมีตัวเลขได้ ความยาวทั้งหมดของสตริงค่าพารามิเตอร์ภายในโปรเจ็กต์ต้องไม่เกิน 1,000,000 อักขระ

ดูการเปลี่ยนแปลงพารามิเตอร์และเงื่อนไข

คุณดูการเปลี่ยนแปลงล่าสุดในRemote Configเทมเพลต ได้จากFirebaseคอนโซล สำหรับ พารามิเตอร์และเงื่อนไขแต่ละรายการ คุณจะทำสิ่งต่อไปนี้ได้

  • ดูชื่อของผู้ใช้ที่แก้ไขพารามิเตอร์หรือเงื่อนไขล่าสุด

  • หากการเปลี่ยนแปลงเกิดขึ้นภายในวันเดียวกัน ให้ดูจํานวนนาทีหรือ ชั่วโมงที่ผ่านไปนับตั้งแต่เผยแพร่การเปลี่ยนแปลงไปยังเทมเพลตRemote Configที่ใช้งานอยู่

  • หากการเปลี่ยนแปลงเกิดขึ้นเมื่อ 1 วันขึ้นไปที่ผ่านมา ให้ดูวันที่ที่ เผยแพร่การเปลี่ยนแปลงไปยังเทมเพลต Remote Config ที่ใช้งานอยู่

ประวัติการเปลี่ยนแปลงของพารามิเตอร์

ในหน้าRemote Config พารามิเตอร์ คอลัมน์เผยแพร่ล่าสุดจะแสดงผู้ใช้รายล่าสุดที่แก้ไขพารามิเตอร์แต่ละรายการ และวันที่เผยแพร่ล่าสุดของการเปลี่ยนแปลง

  • หากต้องการดูข้อมูลเมตาการเปลี่ยนแปลงของพารามิเตอร์ที่จัดกลุ่ม ให้ขยายกลุ่มพารามิเตอร์

  • หากต้องการจัดเรียงตามวันที่เผยแพร่จากน้อยไปมากหรือจากมากไปน้อย ให้คลิกป้ายกำกับคอลัมน์เผยแพร่ล่าสุด

ประวัติการเปลี่ยนแปลงเงื่อนไข

ในหน้าRemote Config เงื่อนไข คุณจะเห็นผู้ใช้รายล่าสุดที่แก้ไขเงื่อนไขและวันที่ ที่แก้ไขข้างแก้ไขล่าสุดใต้เงื่อนไขแต่ละรายการ

ขั้นตอนถัดไป

หากต้องการกําหนดค่าโปรเจ็กต์และแอป Firebase ให้ใช้ Remote Config โปรดดูเริ่มต้นใช้งาน Firebase Remote Config