Join us in person and online for Firebase Summit on October 18, 2022. Learn how Firebase can help you accelerate app development, release your app with confidence, and scale with ease. Register now

ابدأ مع Firebase Remote Config

تنظيم صفحاتك في مجموعات يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.


يمكنك استخدام Firebase Remote Config لتحديد المعلمات في تطبيقك وتحديث قيمها في السحابة ، مما يسمح لك بتعديل مظهر وسلوك تطبيقك دون توزيع تحديث للتطبيق.

تُستخدم مكتبة Remote Config لتخزين قيم المعلمات الافتراضية داخل التطبيق ، وجلب قيم المعلمات المحدثة من الواجهة الخلفية لـ Remote Config ، والتحكم في وقت إتاحة القيم التي تم جلبها لتطبيقك. لمعرفة المزيد ، راجع استراتيجيات تحميل Remote Config .

يرشدك هذا الدليل خلال الخطوات للبدء ويقدم بعض نماذج التعليمات البرمجية ، وكلها متاحة للنسخ أو التنزيل من مستودع جيثب firebase / quickstart- union.

الخطوة 1: أضف Remote Config إلى تطبيقك

قبل أن تتمكن من استخدام Remote Config ، تحتاج إلى:

  • سجل مشروع Unity الخاص بك وقم بتكوينه لاستخدام Firebase.

    • إذا كان مشروع Unity الخاص بك يستخدم Firebase بالفعل ، فهذا يعني أنه تم تسجيله بالفعل وتهيئته لـ Firebase.

    • إذا لم يكن لديك مشروع Unity ، فيمكنك تنزيل نموذج للتطبيق .

  • أضف Firebase Unity SDK (على وجه التحديد ، FirebaseRemoteConfig.unitypackage ) إلى مشروع Unity الخاص بك.

لاحظ أن إضافة Firebase إلى مشروع Unity الخاص بك يتضمن مهامًا في كل من وحدة تحكم Firebase وفي مشروع Unity المفتوح (على سبيل المثال ، يمكنك تنزيل ملفات تهيئة Firebase من وحدة التحكم ، ثم نقلها إلى مشروع الوحدة الخاص بك).

الخطوة 2: تعيين قيم المعلمات الافتراضية داخل التطبيق

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

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

(سيتم تحويل الخصائص بدون سلسلة إلى نوع الخاصية عند استدعاء SetDefaultsAsync() ).

System.Collections.Generic.Dictionary<string, object> defaults =
  new System.Collections.Generic.Dictionary<string, object>();

// These are the values that are used if we haven't fetched data from the
// server
// yet, or if we ask for values that the server doesn't have:
defaults.Add("config_test_string", "default local string");
defaults.Add("config_test_int", 1);
defaults.Add("config_test_float", 1.0);
defaults.Add("config_test_bool", false);

Firebase.RemoteConfig.FirebaseRemoteConfig.DefaultInstance.SetDefaultsAsync(defaults)
  .ContinueWithOnMainThread(task => {

الخطوة 3: احصل على قيم المعلمات لاستخدامها في تطبيقك

يمكنك الآن الحصول على قيم المعلمات من كائن Remote Config. إذا قمت بتعيين القيم في الواجهة الخلفية لـ Remote Config ، وجلبتها ، ثم قمت بتنشيطها ، فستتوفر هذه القيم لتطبيقك. خلاف ذلك ، يمكنك الحصول على قيم المعلمات داخل التطبيق التي تم تكوينها باستخدام SetDefaultsAsync() .

للحصول على هذه القيم ، استخدم GetValue() ، مع توفير مفتاح المعلمة كوسيطة. يؤدي هذا إلى إرجاع ConfigValue ، والذي يحتوي على خصائص لتحويل القيمة إلى أنواع أساسية مختلفة.

الخطوة 4: قم بتوصيل تطبيقك بوحدة تحكم Firebase

في وحدة تحكم Firebase ، أضف تطبيقك إلى مشروع Firebase.

الخطوة 5: تعيين قيم المعلمات

  1. في وحدة تحكم Firebase ، افتح مشروعك.
  2. حدد Remote Config من القائمة لعرض لوحة معلومات Remote Config.
  3. حدد المعلمات بنفس الأسماء مثل المعلمات التي حددتها في تطبيقك. لكل معلمة ، يمكنك تعيين قيمة افتراضية (والتي ستتجاوز في النهاية القيمة الافتراضية داخل التطبيق) والقيم الشرطية. لمعرفة المزيد ، راجع معلمات وشروط التكوين عن بُعد .

الخطوة 6: جلب القيم وتنشيطها (حسب الحاجة)

لجلب قيم المعلمات من الواجهة الخلفية لـ Remote Config ، قم باستدعاء الأسلوب FetchAsync() . يتم جلب أي قيم تقوم بتعيينها على الواجهة الخلفية وتخزينها مؤقتًا في كائن Remote Config.

// Start a fetch request.
// FetchAsync only fetches new data if the current data is older than the provided
// timespan.  Otherwise it assumes the data is "recent enough", and does nothing.
// By default the timespan is 12 hours, and for production apps, this is a good
// number. For this example though, it's set to a timespan of zero, so that
// changes in the console will always show up immediately.
public Task FetchDataAsync() {
  DebugLog("Fetching data...");
  System.Threading.Tasks.Task fetchTask =
  Firebase.RemoteConfig.FirebaseRemoteConfig.DefaultInstance.FetchAsync(
      TimeSpan.Zero);
  return fetchTask.ContinueWithOnMainThread(FetchComplete);
}

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

الخطوة 7: (اختياري) قم بتمكين وضع المطور

لتمكين وضع المطور ، والذي يمكن استخدامه لتعطيل الاختناق أثناء التطوير ، يمكنك استخدام خاصية FirebaseRemoteConfig.Setting ، وتعيين ConfigSettings جديد مع تعيين IsDeveloperMode على "صحيح".

الخطوات التالية

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