Google is committed to advancing racial equity for Black communities. See how.
ترجمت واجهة Cloud Translation API‏ هذه الصفحة.
Switch to English

قوالب التكوين عن بعد وتعيين الإصدار

نموذج Remote Config هو مجموعة من جانب الخادم للمعلمات والشروط بتنسيق JSON التي أنشأتها لمشروع Firebase. يمكنك تعديل القالب وإدارته باستخدام وحدة تحكم 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"
    }
  }

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

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

  • سرد كافة إصدارات القوالب المخزنة
  • استرجع نسخة محددة
  • التراجع إلى إصدار معين

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

إدارة إصدارات قوالب التكوين عن بُعد باستخدام وحدة تحكم Firebase

توفر وحدة تحكم Firebase واجهة رسومية لتمكين إصدارات نماذج القوائم ، وعرض تفاصيلها ، والتراجع حسب الحاجة. لأداء هذه المهام:

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

  2. بشكل افتراضي ، يعرض جزء التفاصيل القالب النشط الحالي. لعرض تفاصيل إصدار آخر في القائمة ، حدده من القائمة اليمنى.

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

  3. يمكنك عرض فرق تفصيلي للإصدار المحدد حاليًا وأي إصدار مخزن آخر بالمرور فوق قائمة السياق لأي إصدار غير محدد وتحديد مقارنة بالإصدار المحدد.

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

إدارة إصدارات قوالب التكوين عن بعد باستخدام واجهات برمجة التطبيقات الخلفية

يصف هذا القسم كيفية إدارة إصدارات قالب التكوين عن بُعد الخاص بك باستخدام واجهة برمجة تطبيقات REST و Firebase Admin SDK. لمزيد من التفاصيل حول كيفية إنشاء القوالب وتعديلها وحفظها برمجيًا ، راجع تعديل التهيئة عن بُعد برمجيًا .

سرد كافة الإصدارات المخزنة من قالب Remote Config

باستخدام واجهات برمجة التطبيقات الخلفية للتكوين البعيد ، يمكنك استرداد قائمة بجميع الإصدارات المخزنة من قالب التكوين عن بُعد. فمثلا:

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

راحة

curl --compressed -D headers -H "Authorization: Bearer <var>token</var>" -X GET https://firebaseremoteconfig.googleapis.com/v1/projects/<var>my-project-id</var>:listVersions

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

{
  "versions": [{
    "version_number": "6",
    "update_time": "2018-05-12T02:38:54Z",
    "update_user": {
      "email": "jane@developer.org",
    },
    "description": "One small change on the console",
    "origin": "CONSOLE",
    "update_type": "INCREMENTAL_UPDATE"
  }]

استرجع إصدارًا محددًا من قالب Remote Config

باستخدام واجهات برمجة التطبيقات الخلفية للتكوين البعيد ، يمكنك استرداد أي نسخة مخزنة من قالب التكوين عن بُعد. قم بتمرير getTemplate() بدون أي وسيطات لاسترداد أحدث إصدار من القالب ، أو لاسترداد إصدار معين ، استخدم getTemplateAtVersion() . فمثلا:

Node.js

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

راحة

171 أعلان 0

معلمة URL ?version_number صالحة فقط لعمليات GET ؛ لا يمكنك استخدامه لتحديد أرقام إصدارات التحديثات. طلب الحصول مشابه بدون المعلمة ?version_number يمكن أن يسترد القالب النشط الحالي.

التراجع إلى إصدار مخزن محدد من قالب Remote Config

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

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

راحة

للرجوع إلى نموذج Remote Config مخزن ، قم بإصدار HTTP POST بالطريقة المخصصة :rollback ، وفي نص الطلب ، الإصدار المحدد المراد تطبيقه. فمثلا:

curl --compressed -D headers -H "Authorization: Bearer <var>token</var>" -X POST https://firebaseremoteconfig.googleapis.com/v1/projects/<var>my-project-id</var>/remoteConfig:rollback -d '{"version_number": 6}'</pre>

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

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