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


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

ส่วนนี้จะกล่าวถึงเทมเพลตไคลเอ็นต์ หากต้องการทราบข้อมูลเกี่ยวกับเวอร์ชันเฉพาะเซิร์ฟเวอร์ เทมเพลต ให้คลิก เทมเพลตของเซิร์ฟเวอร์

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

คุณยังสามารถใช้ REST API การกำหนดค่าระยะไกลและ Admin SDK หรือ Firebase CLI เพื่อแก้ไขและจัดการ เทมเพลตไคลเอ็นต์

ต่อไปนี้คือตัวอย่างของไฟล์เทมเพลตเซิร์ฟเวอร์

{
  "parameters": {
    "preamble_prompt": {
      "defaultValue": {
        "value": "You are a helpful assistant who knows everything there is to know about Firebase! "
      },
      "description": "Add this prompt to the user's prompt",
      "valueType": "STRING"
    },
    "model_name": {
      "defaultValue": {
        "value": "gemini-pro-test"
      },
      "valueType": "STRING"
    },
    "generation_config": {
      "defaultValue": {
        "value": "{\"temperature\": 0.9, \"maxOutputTokens\": 2048, \"topP\": 0.9, \"topK\": 20}"
      },
      "valueType": "JSON"
    },
  },
  "version": {
    "versionNumber": "19",
    "isLegacy": true
  }
}

คุณสามารถทำงานการจัดการเวอร์ชันเหล่านี้ได้ด้วยคอนโซล Firebase

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

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

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

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

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

หัวข้อนี้จะอธิบายวิธีจัดการเวอร์ชันของการกำหนดค่าระยะไกล เทมเพลต

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

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

คอนโซล Firebase

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

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

Firebase CLI

firebase remoteconfig:versions:list

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

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());
}

REST

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

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

```json
{
  "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"
  }]
}
```

ดึงข้อมูลเทมเพลตการกำหนดค่าระยะไกลในเวอร์ชันที่ต้องการ

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

คอนโซล Firebase

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

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

Firebase CLI

firebase remoteconfig:get -v VERSION_NUMBER

นอกจากนี้ คุณยังเขียนเอาต์พุตลงในไฟล์ที่ระบุด้วย -o, FILENAME ได้ด้วย

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());

REST

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:rollback -v VERSION_NUMBER

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());
  }
}

REST

หากต้องการย้อนกลับไปยังเทมเพลตการกำหนดค่าระยะไกลที่เก็บไว้ ให้ออก 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}'

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

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

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

คุณลบเทมเพลตการกำหนดค่าระยะไกลจากคอนโซล Firebase ได้ ถึง ลบเทมเพลตการกำหนดค่าระยะไกล

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

  2. เมื่อมีข้อความแจ้งให้ยืนยันการลบ ให้คลิกลบ

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

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

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

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

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

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

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

  1. ดาวน์โหลดเทมเพลตการกำหนดค่าระยะไกลปัจจุบัน
  2. ตรวจสอบเทมเพลตการกำหนดค่าระยะไกล
  3. เผยแพร่เทมเพลตการกำหนดค่าระยะไกล

ดาวน์โหลดเทมเพลตการกำหนดค่าระยะไกลปัจจุบัน

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

คอนโซล Firebase

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

Firebase CLI

firebase remoteconfig:get -o filename

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());

REST

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 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());
  }
}

REST

ตรวจสอบการอัปเดตเทมเพลตโดยเพิ่มพารามิเตอร์ของ 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 และ เผยแพร่ พารามิเตอร์จะถูกลบออกจากเซิร์ฟเวอร์และใช้ไม่ได้อีกต่อไป แก่ลูกค้า

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

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

คอนโซล Firebase

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

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());
  }
}

REST

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 นี้ คุณจะระบุเนื้อหาได้โดยใช้ "@" ตามด้วยชื่อไฟล์

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

  • ไม่สามารถนำเข้าการปรับเปลี่ยนในแบบของคุณจากโปรเจ็กต์ไปยังโปรเจ็กต์ได้

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

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

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

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

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

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

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

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

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

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

REST

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. ในแท็บพารามิเตอร์ เปิดเมนู และเลือก ดาวน์โหลดค่าเริ่มต้น
  2. เมื่อได้รับแจ้ง ให้คลิกปุ่มตัวเลือกที่ตรงกับไฟล์นั้น ที่ต้องการดาวน์โหลด จากนั้นคลิกดาวน์โหลดไฟล์

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