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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

โหนด 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 หากต้องการลบเทมเพลต Remote Config:

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

  2. สลับเป็นเทมเพลตที่คุณต้องการลบ คลิก More จากนั้นเลือก ลบ

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

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

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

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

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

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

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

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

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

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

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

ใช้คำสั่งต่อไปนี้เพื่อดาวน์โหลดเทมเพลต Remote Config ที่ใช้งานอยู่ในรูปแบบ 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

ตรวจสอบความถูกต้องของเทมเพลต Remote Config

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

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

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

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

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

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

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

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