Join us in person and online for Firebase Summit on October 18, 2022. Learn how Firebase can help you accelerate app development, release your app with confidence, and scale with ease. Register now

แม่แบบการกำหนดค่าระยะไกลและการกำหนดเวอร์ชัน

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

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

นี่คือตัวอย่างไฟล์เทมเพลต:

  {
    "conditions": [
      {
        "name": "ios",
        "expression": "device.os == 'ios'"
      }
    ],
    "parameters": {
      "welcome_message": {
        "defaultValue": {
          "value": "Welcome to this sample app"
        },
        "conditionalValues": {
          "ios": {
            "value": "Welcome to this sample iOS app"
          }
        }
      },
      "welcome_message_caps": {
        "defaultValue": {
          "value": "false"
        }
      },
      "header_text": {
        "defaultValue": {
          "useInAppDefault": true
        }
      }
    },
    "version": {
      "versionNumber": "28",
      "updateTime": "2020-05-14T18:39:38.994Z",
      "updateUser": {
        "email": "user@google.com"
      },
      "updateOrigin": "CONSOLE",
      "updateType": "INCREMENTAL_UPDATE"
    }
  }

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

ด้วยคอนโซล Firebase, Firebase CLI หรือ API แบ็กเอนด์การกำหนดค่าระยะไกล คุณสามารถดำเนินการจัดการเวอร์ชันเหล่านี้ได้:

  • แสดงรายการเวอร์ชันเทมเพลตที่เก็บไว้ทั้งหมด
  • ดึงข้อมูลเฉพาะรุ่น
  • ย้อนกลับไปยังเวอร์ชันเฉพาะ

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

จัดการเวอร์ชันเทมเพลตการกำหนดค่าระยะไกล

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

แสดงรายการเทมเพลต Remote Config เวอร์ชันที่เก็บไว้ทั้งหมด

คุณสามารถดึงรายการของเทมเพลต Remote Config เวอร์ชันที่เก็บไว้ทั้งหมดได้ ตัวอย่างเช่น:

Node.js

function listAllVersions() {
  admin.remoteConfig().listVersions()
    .then((listVersionsResult) => {
      console.log("Successfully fetched the list of versions");
      listVersionsResult.versions.forEach((version) => {
        console.log('version', JSON.stringify(version));
      });
    })
    .catch((error) => {
      console.log(error);
    });
}

Java

ListVersionsPage page = FirebaseRemoteConfig.getInstance().listVersionsAsync().get();
while (page != null) {
  for (Version version : page.getValues()) {
    System.out.println("Version: " + version.getVersionNumber());
  }
  page = page.getNextPage();
}

// Iterate through all versions. This will still retrieve versions in batches.
page = FirebaseRemoteConfig.getInstance().listVersionsAsync().get();
for (Version version : page.iterateAll()) {
  System.out.println("Version: " + version.getVersionNumber());
}

พักผ่อน

curl --compressed -D headers -H "Authorization: Bearer <var>token</var>" -X GET https://firebaseremoteconfig.googleapis.com/v1/projects/<var>my-project-id</var>/remoteConfig:listVersions

คอนโซล Firebase

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

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

Firebase CLI

firebase remoteconfig:versions:list

ใช้ตัวเลือก --limit เพื่อจำกัดจำนวนเวอร์ชันที่ส่งคืน ผ่าน '0' เพื่อดึงข้อมูลทุกเวอร์ชัน

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

{
  "versions": [{
    "version_number": "6",
    "update_time": "2022-05-12T02:38:54Z",
    "update_user": {
      "name": "Jane Smith",
      "email": "jane@developer.org",
      "imageUrl": "https://lh3.googleusercontent.com/a-/..."
    },
    "description": "One small change on the console",
    "origin": "CONSOLE",
    "update_type": "INCREMENTAL_UPDATE"
  }]

เรียกเวอร์ชันเฉพาะของเทมเพลต Remote Config

คุณสามารถดึงเทมเพลต Remote Config เวอร์ชันใด ๆ ที่เก็บไว้ได้ ตัวอย่างเช่น:

Node.js

ส่งผ่าน getTemplate() โดยไม่มีอาร์กิวเมนต์ใดๆ เพื่อดึงข้อมูลเวอร์ชันล่าสุดของเทมเพลต หรือหากต้องการดึงข้อมูลเวอร์ชันเฉพาะ ให้ใช้ getTemplateAtVersion()

// Get template version: 6
admin.remoteConfig().getTemplateAtVersion('6')
  .then((template) => {
    console.log("Successfully fetched the template with ETag: " + template.etag);
  })
  .catch((error) => {
    console.log(error);
  });

Java

Template template = FirebaseRemoteConfig.getInstance().getTemplateAtVersionAsync(versionNumber).get();
// See the ETag of the fetched template.
System.out.println("Successfully fetched the template with ETag: " + template.getETag());

พักผ่อน

curl --compressed -D headers -H "Authorization: Bearer <var>token</var>" -X GET https://firebaseremoteconfig.googleapis.com/v1/projects/<var>my-project-id</var>/remoteConfig?version_number=6

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

คอนโซล Firebase

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

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

Firebase CLI

firebase remoteconfig:get -v VERSION_NUMBER

หรือคุณสามารถเขียนเอาต์พุตไปยังไฟล์ที่ระบุด้วย -o, FILENAME

ย้อนกลับไปยังเทมเพลต Remote Config เวอร์ชันที่เก็บไว้โดยเฉพาะ

คุณสามารถย้อนกลับไปยังเทมเพลตเวอร์ชันใดก็ได้ที่เก็บไว้ ตัวอย่างเช่น:

Node.js

// Roll back to template version: 6
admin.remoteConfig().rollback('6')
  .then((template) => {
    console.log("Successfully rolled back to template version 6.");
    console.log("New ETag: " + template.etag);
  })
  .catch((error) => {
    console.log('Error trying to rollback:', e);
  })

Java

try {
  Template template = FirebaseRemoteConfig.getInstance().rollbackAsync(versionNumber).get();
  System.out.println("Successfully rolled back to template version: " + versionNumber);
  System.out.println("New ETag: " + template.getETag());
} catch (ExecutionException e) {
  if (e.getCause() instanceof FirebaseRemoteConfigException) {
    FirebaseRemoteConfigException rcError = (FirebaseRemoteConfigException) e.getCause();
    System.out.println("Error trying to rollback template.");
    System.out.println(rcError.getMessage());
  }
}

พักผ่อน

หากต้องการย้อนกลับไปยังเทมเพลต Remote Config ที่เก็บไว้ ให้ออก HTTP POST ด้วยเมธอดแบบกำหนดเอง :rollback และเวอร์ชันเฉพาะที่จะใช้ในเนื้อหาคำขอ ตัวอย่างเช่น:

curl --compressed -D headers -H "Authorization: Bearer <var>token</var>" -H "Content-Type: application/json" -X POST https://firebaseremoteconfig.googleapis.com/v1/projects/<var>my-project-id</var>/remoteConfig:rollback -d '{"version_number": 6}'

การตอบกลับประกอบด้วยเนื้อหาของเทมเพลตที่เก็บไว้ซึ่งใช้งานอยู่ในขณะนี้ พร้อมด้วยข้อมูลเมตาของเวอร์ชันใหม่

คอนโซล Firebase

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

Firebase CLI

firebase remoteconfig:rollback -v VERSION_NUMBER

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

ดาวน์โหลดและเผยแพร่เทมเพลตการกำหนดค่าระยะไกล

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

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

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

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

พารามิเตอร์และค่าพารามิเตอร์ที่สร้างขึ้นโดยเฉพาะเป็นตัวแปรในการทดสอบ A/B จะไม่รวมอยู่ในเทมเพลตที่ส่งออก

ในการส่งออกและนำเข้าแม่แบบการกำหนดค่าระยะไกล:

  1. ดาวน์โหลดเทมเพลต Remote Config Config ปัจจุบัน
  2. ตรวจสอบความถูกต้องของเทมเพลต Remote Config
  3. เผยแพร่เทมเพลต Remote Config

ดาวน์โหลดเทมเพลต Remote Config ปัจจุบัน

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

ใช้คำสั่งต่อไปนี้เพื่อดาวน์โหลดเทมเพลต Remote Config ที่ใช้งานอยู่ในรูปแบบ JSON:

Node.js

function getTemplate() {
  var config = admin.remoteConfig();
  config.getTemplate()
      .then(function (template) {
        console.log('ETag from server: ' + template.etag);
        var templateStr = JSON.stringify(template);
        fs.writeFileSync('config.json', templateStr);
      })
      .catch(function (err) {
        console.error('Unable to get template');
        console.error(err);
      });
}

Java

Template template = FirebaseRemoteConfig.getInstance().getTemplateAsync().get();
// See the ETag of the fetched template.
System.out.println("ETag from server: " + template.getETag());

พักผ่อน

curl --compressed -D headers -H "Authorization: Bearer token" -X GET https://firebaseremoteconfig.googleapis.com/v1/projects/my-project-id/remoteConfig -o filename

คำสั่งนี้ส่งออกเพย์โหลด JSON ไปยังไฟล์เดียว และส่วนหัว (รวมถึง ETag) ไปยังไฟล์ headers แยกต่างหาก

คอนโซล Firebase

  1. จากแท็บ Remote Config Parameters or Conditions ให้เปิด Menu แล้วเลือก Download current config file
  2. เมื่อได้รับแจ้ง ให้คลิก ดาวน์โหลดไฟล์ กำหนดค่า เลือกตำแหน่งที่คุณต้องการบันทึกไฟล์ จากนั้นคลิก บันทึก

Firebase CLI

firebase remoteconfig:get -o filename

ตรวจสอบความถูกต้องของแม่แบบการกำหนดค่าระยะไกล

คุณตรวจสอบการอัปเดตเทมเพลตก่อนเผยแพร่ได้โดยใช้ Firebase Admin SDK หรือ REST API เทมเพลตยังได้รับการตรวจสอบเมื่อคุณพยายามเผยแพร่จากคอนโซล Firebase CLI หรือ Firebase

กระบวนการตรวจสอบความถูกต้องของเทมเพลตจะตรวจหาข้อผิดพลาด เช่น คีย์ที่ซ้ำกันสำหรับพารามิเตอร์และเงื่อนไข ชื่อเงื่อนไขที่ไม่ถูกต้องหรือเงื่อนไขที่ไม่มีอยู่จริง หรือ ETag ที่จัดรูปแบบไม่ถูกต้อง ตัวอย่างเช่น คำขอที่มีคีย์เกินจำนวนที่อนุญาต—2000—จะส่งคืนข้อความแสดงข้อผิดพลาด Param count too large

Node.js

function validateTemplate(template) {
  admin.remoteConfig().validateTemplate(template)
      .then(function (validatedTemplate) {
        // The template is valid and safe to use.
        console.log('Template was valid and safe to use');
      })
      .catch(function (err) {
        console.error('Template is invalid and cannot be published');
        console.error(err);
      });
}

Java

try {
  Template validatedTemplate = FirebaseRemoteConfig.getInstance()
          .validateTemplateAsync(template).get();
  System.out.println("Template was valid and safe to use");
} catch (ExecutionException e) {
  if (e.getCause() instanceof FirebaseRemoteConfigException) {
    FirebaseRemoteConfigException rcError = (FirebaseRemoteConfigException) e.getCause();
    System.out.println("Template is invalid and cannot be published");
    System.out.println(rcError.getMessage());
  }
}

พักผ่อน

ตรวจสอบการอัปเดตเทมเพลตโดยต่อท้ายพารามิเตอร์ URL ?validate_only=true กับคำขอเผยแพร่ของคุณ:

curl --compressed -H "Content-Type: application/json; UTF8" -H "If-Match: last-returned-etag" -H "Authorization: Bearer token" -X PUT https://firebaseremoteconfig.googleapis.com/v1/projects/my-project-id/remoteConfig?validate_only=true -d @filename

หากเทมเพลตของคุณได้รับการตรวจสอบเรียบร้อยแล้ว คำสั่ง curl จะส่งคืนเทมเพลต JSON ที่คุณส่ง และในไฟล์ headers ที่บันทึกไว้ คุณจะพบสถานะ HTTP/2 200 และ ETag ที่อัปเดตพร้อมคำต่อท้าย -0 หากเทมเพลตของคุณไม่ผ่านการตรวจสอบ คุณจะได้รับข้อผิดพลาดในการตรวจสอบความถูกต้องในการตอบกลับ JSON และไฟล์ headers ของคุณจะมีการตอบสนองที่ไม่ใช่ 200 (และไม่มี ETag)

เผยแพร่เทมเพลตการกำหนดค่าระยะไกล

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

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

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

ใช้คำสั่งต่อไปนี้เพื่อเผยแพร่เทมเพลตของคุณ:

Node.js

function publishTemplate() {
  var config = admin.remoteConfig();
  var template = config.createTemplateFromJSON(
      fs.readFileSync('config.json', 'UTF8'));
  config.publishTemplate(template)
      .then(function (updatedTemplate) {
        console.log('Template has been published');
        console.log('ETag from server: ' + updatedTemplate.etag);
      })
      .catch(function (err) {
        console.error('Unable to publish template.');
        console.error(err);
      });
}

Java

try {
  Template publishedTemplate = FirebaseRemoteConfig.getInstance()
          .publishTemplateAsync(template).get();
  System.out.println("Template has been published");
  // See the ETag of the published template.
  System.out.println("ETag from server: " + publishedTemplate.getETag());
} catch (ExecutionException e) {
  if (e.getCause() instanceof FirebaseRemoteConfigException) {
    FirebaseRemoteConfigException rcError = (FirebaseRemoteConfigException) e.getCause();
    System.out.println("Unable to publish template.");
    System.out.println(rcError.getMessage());
  }
}

พักผ่อน

curl --compressed -H "Content-Type: application/json; UTF8" -H "If-Match: last-returned-etag" -H "Authorization: Bearer token" -X PUT https://firebaseremoteconfig.googleapis.com/v1/projects/my-project-id/remoteConfig -d @filename

สำหรับคำสั่ง curl นี้ คุณสามารถระบุเนื้อหาโดยใช้อักขระ "@" ตามด้วยชื่อไฟล์

คอนโซล Firebase

  1. จากแท็บ Remote Config Parameters or Conditions ให้เปิด Menu และเลือก Publish from a file
  2. เมื่อได้รับแจ้ง ให้คลิก เรียกดู ไปที่และเลือกไฟล์ Remote Config ที่คุณต้องการเผยแพร่ จากนั้นคลิก Select
  3. ไฟล์จะได้รับการตรวจสอบ และหากสำเร็จ คุณสามารถคลิก เผยแพร่ เพื่อให้การกำหนดค่าพร้อมใช้งานทันทีสำหรับแอปและผู้ใช้ของคุณ

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

  • ไม่สามารถนำเข้าการตั้งค่าส่วนบุคคลจากโปรเจ็กต์หนึ่งไปอีกโปรเจ็กต์

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

  • นำเข้าเงื่อนไขจากโปรเจ็กต์หนึ่งไปยังอีกโปรเจ็กต์ได้ แต่โปรดทราบว่าค่าตามเงื่อนไขเฉพาะใดๆ (เช่น ID แอปหรือผู้ชม) ควรมีอยู่ในโปรเจ็กต์เป้าหมายก่อนเผยแพร่

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

  • หากเทมเพลตที่คุณวางแผนจะเผยแพร่มีเงื่อนไขที่ต้องพึ่งพา Google Analytics จะต้องเปิดใช้ Analytics ในโปรเจ็กต์เป้าหมาย

ดาวน์โหลดค่าเริ่มต้นของเทมเพลตการกำหนดค่าระยะไกล

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

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

คุณสามารถดาวน์โหลดไฟล์เหล่านี้ในรูปแบบ XML สำหรับแอป Android รูปแบบรายการคุณสมบัติ (plist) สำหรับแอป iOS และ JSON สำหรับเว็บแอป

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

ในการดาวน์โหลดไฟล์ที่มีเทมเพลตเริ่มต้น:

พักผ่อน

curl --compressed -D headers -H "Authorization: Bearer token -X GET https://firebaseremoteconfig.googleapis.com/v1/projects/my-project-id/remoteConfig:downloadDefaults?format=file_format'

ใช้ XML , PLIST หรือ JSON เป็นค่า format ขึ้นอยู่กับรูปแบบไฟล์ที่คุณต้องการดาวน์โหลด

คอนโซล Firebase

  1. ในแท็บ Parameters ให้เปิด Menu และเลือก Download default values
  2. เมื่อได้รับแจ้ง ให้คลิกปุ่มตัวเลือกที่ตรงกับรูปแบบไฟล์ที่คุณต้องการดาวน์โหลด จากนั้นคลิก ดาวน์โหลดไฟล์

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการนำเข้าค่าเริ่มต้นของการกำหนดค่าระยะไกลไปยังแอปของคุณ โปรดดูที่: