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


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

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

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

คุณยังสามารถใช้ Remote Config 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

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

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

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

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

จัดการเวอร์ชันเทมเพลตของ Remote Config

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

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

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

คอนโซล Firebase

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

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

CLI Firebase

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

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

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

Firebase console

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

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

CLI Firebase

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 จะดึงเทมเพลตที่ใช้งานอยู่ในปัจจุบัน

เปลี่ยนกลับไปใช้เทมเพลต Remote Config เวอร์ชันที่เก็บไว้

คุณสามารถย้อนกลับไปยัง ของเทมเพลต วิธีย้อนกลับเทมเพลต

คอนโซล Firebase

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

CLI Firebase

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

หากต้องการย้อนกลับไปยังเทมเพลต 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}'

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

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

ลบเทมเพลต Remote Config

คุณลบเทมเพลต Remote Config จากคอนโซล Firebase ได้ ถึง ลบเทมเพลต Remote Config:

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

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

ดาวน์โหลดและเผยแพร่เทมเพลต Remote Config

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

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

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

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

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

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

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

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

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

Firebase console

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

CLI Firebase

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 ที่มีรูปแบบไม่ถูกต้อง ตัวอย่างเช่น คำขอที่มีคีย์มากกว่าจำนวนที่อนุญาต ซึ่งก็คือ 2,000 รายการ จะแสดงข้อความแสดงข้อผิดพลาด 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)

เผยแพร่เทมเพลต Remote Config

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

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

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

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

คอนโซล Firebase

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

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

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

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

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

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

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

ดาวน์โหลดค่าเริ่มต้นของเทมเพลต Remote Config

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

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

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

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

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

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

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