Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

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

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

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

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

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

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

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

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

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

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

โหนด 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);
    });
}

ชวา

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

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

รายละเอียดที่แสดงสำหรับแต่ละเวอร์ชันที่เก็บไว้ประกอบด้วยข้อมูลว่าการเปลี่ยนแปลงเกิดขึ้นจาก Console, ด้วย 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"
  }]

ดึงแม่แบบการกำหนดค่าระยะไกลเฉพาะรุ่น

คุณสามารถเรียกคืนเทมเพลตการกำหนดค่าระยะไกลเวอร์ชันใดเวอร์ชันหนึ่งโดยเฉพาะได้ ตัวอย่างเช่น:

โหนด 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);
  });

ชวา

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

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

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

โหนด 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);
  })

ชวา

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

พักผ่อน

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

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

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

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

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

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

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

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

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

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

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

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

โหนด 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);
      });
}

ชวา

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

Firebase CLI

firebase remoteconfig:get -o filename

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

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

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

โหนด 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);
      });
}

ชวา

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

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

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

โหนด 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);
      });
}

ชวา

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

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

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

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

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

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

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

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

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

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

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

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