พารามิเตอร์และการกำหนดค่าระยะไกลในเทมเพลตไคลเอ็นต์

เลือกประเภทเทมเพลต: เทมเพลตไคลเอ็นต์ เทมเพลตเซิร์ฟเวอร์


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

เมื่อใช้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 ซึ่งแสดงค่าเริ่มต้นสำหรับ iOS และค่าแบบมีเงื่อนไขสำหรับ Android

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

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

เพิ่ม แก้ไข เรียงลำดับใหม่ หรือลบเงื่อนไขโดยใช้Firebaseคอนโซล

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

  1. ในFirebaseคอนโซล ให้ไปที่ DevOps และความผูกพัน > การกำหนดค่าระยะไกล > หน้าเงื่อนไข (หรือเลือกจัดการเงื่อนไขจากหน้าพารามิเตอร์)
  2. เพิ่มเงื่อนไข: คลิกเพิ่มเงื่อนไข (หรือสร้างเงื่อนไขแรก) ป้อนชื่อที่กำหนดวัตถุประสงค์การกำหนดเป้าหมาย แล้วเลือกกฎการกำหนดเป้าหมายอย่างน้อย 1 รายการ
  3. แก้ไขเงื่อนไข: คลิกชื่อเงื่อนไขหรือไอคอนแก้ไข แก้ไขกฎตามที่ต้องการ แล้วคลิกบันทึก
  4. เปลี่ยนลำดับความสำคัญของเงื่อนไข: ในหน้าเงื่อนไข ให้ลาก เงื่อนไขโดยใช้แฮนเดิลการจับเพื่อจัดลำดับใหม่ เงื่อนไขที่อยู่สูงกว่าในรายการ จะมีความสำคัญเหนือกว่าเงื่อนไขที่อยู่ต่ำกว่าในรายการ
  5. ลบเงื่อนไข: คลิกไอคอนลบข้างเงื่อนไขที่ต้องการนำออก หากพารามิเตอร์ใดอ้างอิงเงื่อนไข การนำเงื่อนไขออกจะนำค่าแบบมีเงื่อนไขที่เชื่อมโยงออกด้วย

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

ข้อจำกัดของ IPv6 ที่มีการควบคุมการเข้าถึงตาม IP

Remote Config มีการรองรับ IPv6 แบบจำกัดเมื่อใช้กับนโยบายการเข้าถึงตาม IP หากองค์กรจำกัดการเข้าถึงช่วง IP สาธารณะที่เฉพาะเจาะจง การเชื่อมต่อผ่านเครือข่าย IPv6 อาจทำให้เกิดปัญหาต่อไปนี้

  • การเข้าถึงคอนโซล: คุณอาจใช้Remote Config ฟีเจอร์บางอย่างในคอนโซล Firebase ไม่ได้ เช่น การโหลดข้อมูลหรือการตั้งค่า การกำหนดเป้าหมาย
  • การเข้าถึงของไคลเอ็นต์: แอปไคลเอ็นต์อาจพบข้อผิดพลาด PERMISSION_DENIED

หากต้องการป้องกันปัญหาเหล่านี้ ให้กำหนดค่าเครือข่ายให้ใช้ IPv4 หรือ เพิ่มช่วง IP ของ Firebase ที่จำเป็นลงในรายการที่อนุญาตขององค์กร

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

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

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

  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 คอนโซลหรือ Remote Config REST API กลุ่มพารามิเตอร์แต่ละกลุ่มที่คุณสร้างจะมีชื่อที่ไม่ซ้ำกันในเทมเพลต Remote Config เมื่อสร้างกลุ่มพารามิเตอร์ โปรดคำนึงถึงสิ่งต่อไปนี้

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

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

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

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

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

Remote Config 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 รายการต่ออินสแตนซ์ของแอป คุณยกเลิกการตั้งค่าสัญญาณที่กำหนดเองได้โดยตั้งค่าเป็น Null
  • ชื่อสัญญาณที่กำหนดเอง: ชื่อสัญญาณที่กำหนดเองแต่ละชื่อมีความยาวได้สูงสุด 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 ของแอป

หมายเหตุ: โอเปอเรเตอร์เปรียบเทียบตัวเลข (<, <=, =, !=, >, >=) รองรับ เฉพาะเวอร์ชันเชิงความหมายที่เป็นตัวเลข (เช่น 1.2.3) เท่านั้น โดยไม่รองรับ คำต่อท้ายก่อนเผยแพร่หรือขีดกลาง (เช่น -beta หรือ -rc) สำหรับสตริงเวอร์ชันที่มีคำต่อท้ายหรือขีดกลางที่ไม่ใช่ตัวเลข (เช่น 1.5-beta) ให้ใช้โอเปอเรเตอร์สตริงแทน (เช่น มีนิพจน์ทั่วไป มี หรือ ตรงกันทุกประการ)

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

เมื่อใช้ตัวดำเนินการมีนิพจน์ทั่วไป คุณจะสร้างนิพจน์ทั่วไปในรูปแบบ 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กลุ่มเป้าหมายจํานวนมากกําหนดโดยเหตุการณ์หรือ พร็อพเพอร์ตี้ผู้ใช้ ซึ่งอาจอิงตามการกระทําของผู้ใช้แอป กฎผู้ใช้ในกลุ่มเป้าหมายจึงอาจใช้เวลาสักครู่จึงจะมีผลสําหรับอินสแตนซ์แอปที่กําหนด ซึ่งหมายความว่าแม้ว่าในทางเทคนิคแล้วผู้ใช้จะมีคุณสมบัติเป็นกลุ่มเป้าหมาย แต่หาก Analytics ยังไม่ได้เพิ่มผู้ใช้ลงในกลุ่มเป้าหมายเมื่อมีการเรียกใช้ fetchAndActivate() ผู้ใช้จะไม่ตรงกับเงื่อนไข

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

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

หมายเหตุ: ในไคลเอ็นต์ คุณตั้งค่าสตริงสำหรับพร็อพเพอร์ตี้ผู้ใช้ได้เท่านั้น สําหรับเงื่อนไขที่ใช้ตัวดำเนินการที่เป็นตัวเลข 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) เวลาซิดนีย์" เปรียบเทียบเวลาปัจจุบันกับเวลาที่ดึงข้อมูลอุปกรณ์
การเปิดครั้งแรก ก่อน หลัง

กำหนดเป้าหมายผู้ใช้ตามครั้งแรกที่เปิดแอปของคุณ

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

การกำหนดเป้าหมายผู้ใช้ตามการเปิดครั้งแรกจะใช้ได้หลังจากที่คุณเลือกแอป Android, iOS หรือเว็บแอป

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

  • Firebase SDK สำหรับ Google Analytics
  • SDK ของแพลตฟอร์ม Apple เวอร์ชัน 9.0.0 ขึ้นไปหรือ Android SDK เวอร์ชัน 21.1.1 ขึ้นไป (Firebase BoM v30.3.0 ขึ้นไป) และ JavaScript SDK เวอร์ชัน 12.8.0 ขึ้นไป

Analytics ต้องเปิดใช้ในไคลเอ็นต์ระหว่างเหตุการณ์การเปิดครั้งแรกด้วย

รหัสการติดตั้ง อยู่ใน ระบุรหัสการติดตั้งอย่างน้อย 1 รหัส (สูงสุด 50 รหัส) เพื่อกำหนดเป้าหมาย กฎนี้จะประเมินเป็น true สำหรับการติดตั้งที่กำหนด หากรหัสของการติดตั้งนั้นอยู่ในรายการค่าที่คั่นด้วยคอมมา

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ในคอนโซล Firebase ให้ไปที่หน้า DevOps และความผูกพัน > การกำหนดค่าระยะไกล > พารามิเตอร์ คอลัมน์เผยแพร่ล่าสุดแสดงผู้ใช้รายล่าสุดที่แก้ไขพารามิเตอร์แต่ละรายการ และวันที่เผยแพร่การเปลี่ยนแปลงล่าสุด

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

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

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

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

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

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