نماذج "الإعداد عن بُعد" وتحديد الإصدارات

نماذج "الإعداد عن بُعد" هي مجموعات من المَعلمات والشروط بتنسيق JSON التي أنشأتها لمشروعك على Firebase. يمكنك إنشاء نماذج العميل، التي يجلب تطبيقك القيم منها، ونماذج الخادم التي يمكن لعملاء الخادم جلب القيم منها.

يمكنك تعديل النموذج وإدارته باستخدام وحدة تحكم Firebase التي تعرض محتوى النموذج بتنسيق رسومي في علامتَي التبويب المعلَمات والشروط. يمكنك أيضًا استخدام REST API وحزمة تطوير البرامج (SDK) للمشرف أو واجهة سطر الأوامر في Firebase لتعديل نموذج العميل وإدارته.

إليك مثال على ملف نموذج العميل:

      {
        "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"
        }
      }

وفي ما يلي مثال على ملف نموذج الخادم:

{
  "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":

  • سرد جميع إصدارات النماذج المخزنة
  • استرداد نسخة معينة
  • العودة إلى إصدار عميل محدّد
  • يمكنك حذف نماذج "الإعداد عن بُعد" من صفحة سجلّ التغييرات.

إذا كنت تدير نماذج العملاء، يمكنك أيضًا إدراج النماذج واسترداد النماذج والرجوع إلى الإصدار السابق من النماذج باستخدام واجهة سطر الأوامر في Firebase وواجهات برمجة تطبيقات الواجهة الخلفية لميزة "الإعداد عن بُعد".

هناك حد إجمالي يبلغ 300 نسخة مخزّنة منذ الإنشاء لكل نوع نموذج (300 نموذج عميل و300 نموذج خادم)، ويشمل ذلك أرقام الإصدارات المخزَّنة للنماذج المحذوفة. وإذا نشرت أكثر من 300 إصدار نموذج لكل نوع نموذج خلال فترة إنشاء المشروع، سيتم حذف أقدم النُسخ، مع الحفاظ على 300 إصدار من هذا النوع كحد أقصى.

وفي كل مرة تعدِّل فيها المَعلمات، تنشئ ميزة "الإعداد عن بُعد" نموذجًا جديدًا لميزة "الإعداد عن بُعد" بإصدارات جديدة وتخزِّن النموذج السابق كإصدار يمكنك استرداده أو الرجوع إليه حسب الحاجة. تتم زيادة أرقام الإصدارات بالتسلسل من القيمة الأولية التي تم تخزينها بواسطة ميزة "الإعداد عن بُعد". تشتمل جميع النماذج على حقل version على النحو المعروض، ويحتوي على بيانات وصفية حول الإصدار المحدّد.

باستخدام "وحدة تحكُّم Firebase" أو واجهة سطر الأوامر في Firebase أو واجهات برمجة التطبيقات للخلفية في ميزة "الإعداد عن بُعد"، يمكنك تنفيذ مهام إدارة الإصدارات التالية:

  • سرد جميع إصدارات النماذج المخزنة
  • استرداد نسخة معينة
  • العودة إلى إصدار محدَّد

ويمكنك حذف نماذج "الإعداد عن بُعد" حسب الحاجة من صفحة سجلّ التغييرات في وحدة تحكُّم "الإعداد عن بُعد". هناك حد إجمالي يبلغ 300 نسخة مخزّنة منذ الإنشاء، بما في ذلك أرقام الإصدارات المخزنة للنماذج المحذوفة. إذا نشرت أكثر من 300 إصدار نموذج خلال فترة إنشاء المشروع، سيتم حذف أقدم الإصدارات، مع الحفاظ على 300 إصدار كحد أقصى.

إدارة إصدارات نماذج "الإعداد عن بُعد"

يوضّح هذا القسم كيفية إدارة إصدارات نموذج "الإعداد عن بُعد". لمزيد من التفاصيل حول كيفية إنشاء النماذج وتعديلها وحفظها آليًا، يُرجى الاطّلاع على تعديل ميزة "الإعداد عن بُعد" آليًا.

إدراج جميع الإصدارات المخزَّنة من نموذج "الإعداد عن بُعد"

يمكنك استرداد قائمة بجميع الإصدارات المخزنة من نموذج "الإعداد عن بُعد". على سبيل المثال:

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

وحدة تحكُّم Firebase

في علامة التبويب المعلَمات، اختَر رمز "الساعة" المعروض في أعلى يسار الشاشة. يؤدي ذلك إلى فتح صفحة سجلّ التغييرات التي تسرد جميع إصدارات النماذج المُخزَّنة في قائمة قائمة على اليسار.

تتضمن التفاصيل المعروضة لكل إصدار مخزّن معلومات حول ما إذا كانت التغييرات قد نشأت من وحدة التحكم، مع واجهة برمجة تطبيقات REST، أو من خلال العودة إلى الإصدار السابق، أو ما إذا كانت تغييرات تدريجية من حفظ إجباري للنموذج.

Firebase CLI

firebase remoteconfig:versions:list

يمكنك استخدام الخيار --limit للحدّ من عدد النُسخ التي يتم عرضها. مرِّر "0" لاسترجاع جميع النُسخ.

تتضمن قائمة النماذج بيانات وصفية لجميع الإصدارات المخزنة، بما في ذلك وقت التحديث، والمستخدم الذي قام بإنشائه، وما إذا كان تم إنشاؤه عبر وحدة التحكم أو واجهة برمجة تطبيقات REST. فيما يلي مثال على عنصر إصدار:

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

استرداد نسخة معيّنة من نموذج "الإعداد عن بُعد"

يمكنك استرداد أي إصدار محدد مخزّن من نموذج "الإعداد عن بُعد". على سبيل المثال:

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، ولا يمكنك استخدامها لتحديد أرقام الإصدارات للتحديثات. وسيؤدي طلب get مشابه بدون المعلَمة ?version_number إلى استرداد النموذج النشط الحالي.

وحدة تحكُّم Firebase

يعرض جزء التفاصيل في علامة التبويب سجلّ التغييرات تلقائيًا النموذج النشط حاليًا. لعرض تفاصيل إصدار آخر في القائمة، حدده من القائمة اليمنى.

يمكنك الاطّلاع على الفرق التفصيلية بين النسخة المحدّدة حاليًا وأي نسخة أخرى مخزّنة من خلال تمرير مؤشّر الماوس فوق قائمة السياقات لأي نسخة لم يتم اختيارها واختيار المقارنة مع النسخة المحدّدة.

Firebase CLI

firebase remoteconfig:get -v VERSION_NUMBER

ويمكنك، إذا أردت، كتابة المُخرجات إلى ملف محدّد باستخدام -o, FILENAME.

العودة إلى إصدار محدَّد مخزّن من نموذج "الإعداد عن بُعد"

يمكنك العودة إلى أي إصدار مخزن من القالب. على سبيل المثال:

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}'

يحتوي الرد على محتوى النموذج المخزّن النشِط الآن، مع البيانات الوصفية للإصدار الجديد.

وحدة تحكُّم Firebase

بالنسبة إلى إصدارات النماذج السابقة المؤهَّلة للعودة إلى تلك الإصدارات السابقة، يظهر زر خيار العودة إلى ذلك الإصدار في أعلى يسار صفحة سجلّ التغييرات. انقر على ذلك وأكِّده فقط في حال كنت تريد التأكّد من العودة إلى ذلك الإصدار واستخدام تلك القيم على الفور لجميع التطبيقات والمستخدمين.

Firebase CLI

firebase remoteconfig:rollback -v VERSION_NUMBER

تجدر الإشارة إلى أنّ عملية العودة إلى الإصدارات السابقة هذه تنشئ إصدارًا جديدًا مرقّمًا بشكل فعّال. على سبيل المثال، يؤدي الرجوع من الإصدار 10 إلى الإصدار 6 إلى إنشاء نسخة جديدة من الإصدار 6 بشكل فعال تختلف عن الإصدار الأصلي فقط في أن رقم الإصدار هو 11. ولا يزال الإصدار 6 الأصلي مخزّنًا، بافتراض أنه لم يبلغ انتهاء صلاحيته، بينما سيصبح الإصدار 11 النموذج النشط.

حذف نموذج لميزة "الإعداد عن بُعد"

يمكنك حذف نماذج "الإعداد عن بُعد" من "وحدة تحكُّم Firebase". لحذف نموذج "الإعداد عن بُعد":

  1. من صفحة المَعلمات في ميزة "الإعداد عن بُعد"، انقر على سجلّ التغييرات.

  2. انتقِل إلى النموذج الذي تريد حذفه، وانقر على المزيد، ثم على حذف.

  3. عندما يُطلب منك تأكيد الحذف، انقر على حذف.

تنزيل نماذج "الإعداد عن بُعد" ونشرها

يمكنك تنزيل نماذج "الإعداد عن بُعد" ونشرها لدمجها في أنظمة التحكّم في المصدر وإنشاء أنظمة التشغيل وتعديلات الإعدادات تلقائيًا ومزامنة المعلمات والقيم على مستوى مشاريع متعددة.

يمكنك تنزيل نموذج "الإعداد عن بُعد" النشِط حاليًا بشكل آلي أو من "وحدة تحكُّم Firebase". يمكنك بعد ذلك تحديث ملف JSON الذي تم تصديره ونشره في المشروع نفسه أو نشره في مشروع جديد أو حالي.

لنفترض أن لديك عدة مشروعات تمثل مراحل مختلفة من دورة حياة تطوير البرمجيات، مثل بيئة التطوير والاختبار والتنظيم والإنتاج. في هذه الحالة، يمكنك الترويج لنموذج تم اختباره بالكامل من البيئة المرحلية إلى بيئة الإنتاج عن طريق تنزيله من مشروعك المرحلي ونشره في مشروع الإنتاج لديك.

يمكنك أيضًا استخدام هذه الطريقة لنقل الإعدادات من مشروع إلى آخر، أو تعبئة مشروع جديد بالمعلمات والقيم من مشروع ثابت.

لا يتم تضمين المَعلمات وقيم المَعلمات التي يتم إنشاؤها خصيصًا كصيغ في تجربة "اختبار A/B" في النماذج التي يتم تصديرها.

لتصدير نماذج "الإعداد عن بُعد" واستيرادها:

  1. نزِّل النموذج الحالي لميزة "الإعداد عن بُعد".
  2. التحقّق من صحة نموذج "الإعداد عن بُعد"
  3. نشر نموذج "الإعداد عن بُعد".

تنزيل النموذج الحالي لميزة "الإعداد عن بُعد"

يمكنك تنزيل نموذج "الإعداد عن بُعد" الحالي والنشط تلقائيًا أو باستخدام "وحدة تحكّم Firebase".

استخدِم الأوامر التالية لتنزيل نموذج "الإعداد عن بُعد" النشط بتنسيق 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());

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

  1. من علامة التبويب مَعلمات أو شروط الإعداد عن بُعد، افتح القائمة، واختَر تنزيل ملف الإعداد الحالي.
  2. انقر على تنزيل ملف الإعداد عندما يُطلب منك ذلك، واختَر الموقع الذي تريد حفظ الملف فيه، ثم انقر على حفظ.

Firebase CLI

firebase remoteconfig:get -o filename

التحقّق من صحة نموذج "الإعداد عن بُعد"

يمكنك التحقّق من صحة تعديلات النماذج قبل نشرها باستخدام حزمة تطوير البرامج (SDK) لمشرف Firebase أو REST API. يتم أيضًا التحقّق من صحة النماذج عند محاولة النشر من خلال واجهة سطر الأوامر في Firebase أو وحدة تحكُّم 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 ونشرتها، يتم حذف المَعلمة من الخادم ولن تعود متاحة للعملاء.

بعد النشر، تصبح التغييرات في المَعلمات والقيم متاحة فورًا لتطبيقاتك ومستخدميك. وإذا لزم الأمر، يمكنك العودة إلى إصدار سابق.

استخدِم الأوامر التالية لنشر النموذج:

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 هذا، يمكنك تحديد المحتوى باستخدام الحرف "@" متبوعًا باسم الملف.

وحدة تحكُّم Firebase

  1. في علامة التبويب مَعلمات أو شروط الإعداد عن بُعد، افتح القائمة، واختَر نشر من ملف.
  2. انقر على تصفّح وانتقِل إلى ملف "الإعداد عن بُعد" الذي تريد نشره واختَره، ثم انقر على اختيار عندما يُطلب منك ذلك.
  3. سيتم التحقّق من صحة الملف، وإذا نجح، يمكنك النقر على نشر لإتاحة الإعداد على الفور للتطبيقات والمستخدمين.

يتم تضمين تخصيصات وشروط "الإعداد عن بُعد" في النماذج التي تم تنزيلها، لذلك من المهم أن تكون على دراية بالقيود التالية عند محاولة النشر في مشروع مختلف:

  • لا يمكن استيراد عمليات التخصيص من مشروع إلى آخر.

    على سبيل المثال، في حال تفعيل عمليات التخصيص في مشروعك وتنزيل نموذج وتعديله، يمكنك نشره في المشروع نفسه، ولكن لا يمكنك نشره في مشروع مختلف ما لم يتم حذف عمليات التخصيص من النموذج.

  • يمكن استيراد الشروط من مشروع إلى آخر، ولكن لاحظ أنّ أي قيم شرطية محدّدة (مثل أرقام تعريف التطبيقات أو شرائح الجمهور)، يجب أن تكون متوفّرة في المشروع المستهدَف قبل نشره.

    على سبيل المثال، إذا كانت لديك مَعلمة "الإعداد عن بُعد" تستخدِم شرطًا يحدِّد قيمة النظام الأساسي iOS، يمكن نشر النموذج في مشروع آخر، لأنّ قيم الأنظمة الأساسية هي نفسها لأي مشروع. ومع ذلك، إذا كان يتضمّن شرطًا يعتمد على رقم تعريف تطبيق أو جمهور مستخدمين محدّدَين غير موجود في المشروع المستهدَف، لن تنجح عملية التحقّق.

  • إذا كان النموذج الذي تخطط لنشره يحتوي على شروط تعتمد على "إحصاءات Google"، يجب تفعيل "إحصاءات Google" في المشروع المستهدَف.

تنزيل الإعدادات التلقائية لنماذج "الإعداد عن بُعد"

نظرًا لأن تطبيقك قد لا يكون متصلاً بالإنترنت دائمًا، يجب عليك ضبط القيم التلقائية للتطبيق من جهة العميل لجميع معلَمات الإعداد عن بُعد. يجب أيضًا مزامنة القيم التلقائية لبرنامج تطبيقك بشكل دوري وقيم المعلمات التلقائية للخلفية في ميزة "الإعداد عن بُعد"، لأنّها قد تتغيّر بمرور الوقت.

وكما هو موضّح في الروابط الخاصة بالنظام الأساسي في نهاية هذا القسم، يمكنك ضبط هذه الإعدادات التلقائية يدويًا في تطبيقك أو يمكنك تبسيط هذه العملية من خلال تنزيل الملفات التي تحتوي فقط على أزواج المفتاح/القيمة لجميع المعلمات وقيمها التلقائية في نموذج "الإعداد عن بُعد" النشط. يمكنك بعد ذلك تضمين هذا الملف في مشروعك وتهيئة تطبيقك لاستيراد هذه القيم

يمكنك تنزيل هذه الملفات بتنسيق 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. انقر على زر الاختيار المناسب لتنسيق الملف الذي تريد تنزيله، ثم انقر على تنزيل الملف عندما يُطلب منك ذلك.

لمزيد من المعلومات حول استيراد القيم التلقائية لميزة "الإعداد عن بُعد" إلى تطبيقك، يُرجى الاطّلاع على: