با Firebase Remote Config شروع به کار کنید

شما می توانید از Firebase Remote Config برای تعریف پارامترها در برنامه خود و به روز رسانی مقادیر آنها در فضای ابری استفاده کنید و به شما امکان می دهد ظاهر و رفتار برنامه خود را بدون توزیع به روز رسانی برنامه تغییر دهید.

کتابخانه Remote Config برای ذخیره مقادیر پارامترهای پیش‌فرض درون‌برنامه، واکشی مقادیر پارامترهای به‌روزشده از باطن Remote Config و کنترل زمانی که مقادیر واکشی شده در دسترس برنامه شما قرار می‌گیرد، استفاده می‌شود. برای کسب اطلاعات بیشتر، نگاه کنید به استراتژی بارگذاری پیکربندی از راه دور .

این راهنما شما را از طریق مراحل برای شروع و برخی از نمونه کد فراهم می کند، که همه آنها در دسترس است به کلون کردن و یا دانلود از است فایربیس / شروع سریع وحدت گیتهاب مخزن.

Remote Config را به برنامه خود اضافه کنید

قبل از اینکه شما می توانید استفاده کنید از راه دور پیکربندی ، شما نیاز به:

  • پروژه Unity خود را ثبت کرده و آن را برای استفاده از Firebase پیکربندی کنید.

    • اگر پروژه Unity شما قبلاً از Firebase استفاده می کند، پس از قبل برای Firebase ثبت و پیکربندی شده است.

    • اگر شما یک پروژه وحدت را نداشته باشند، شما می توانید یک دانلود برنامه نمونه .

  • اضافه کردن فایربیس وحدت SDK (به طور خاص، FirebaseRemoteConfig.unitypackage ) به طرح وحدت خود را.

توجه داشته باشید که اضافه کردن فایربیس به پروژه وحدت خود را شامل وظایف هر دو در فایربیس کنسول و در پروژه های وحدت باز خود را (به عنوان مثال، شما دانلود فایل های پیکربندی فایربیس از کنسول، و سپس حرکت آنها را در پروژه وحدت خود را).

مقادیر پارامترهای پیش‌فرض درون برنامه را تنظیم کنید

می‌توانید مقادیر پارامترهای پیش‌فرض را در شی Remote Config تنظیم کنید تا در صورتی که هیچ مقدار دیگری از backend بازیابی نشده باشد، استفاده شود. این به برنامه شما اجازه می‌دهد تا قبل از اتصال به پشتیبان 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 => {

مقادیر پارامتر را برای استفاده در برنامه خود دریافت کنید

اکنون می توانید مقادیر پارامتر را از شی Remote Config دریافت کنید. اگر مقادیری را در Remote Config تنظیم کرده باشید، آنها را واکشی کرده و سپس فعال کنید، این مقادیر برای برنامه شما در دسترس هستند. در غیر این صورت، شما در در برنامه مقادیر پارامتر با استفاده از پیکربندی از SetDefaultsAsync() .

برای به دست آوردن این ارزش ها، استفاده از GetValue() ، ارائه کلید پارامتر به عنوان آرگومان. این تابع یک ConfigValue ، که دارای خواص برای تبدیل ارزش به انواع پایه های مختلف.

برنامه خود را در کنسول Firebase وصل کنید

در فایربیس کنسول ، اضافه کردن برنامه های خود را به پروژه فایربیس خود را.

مقادیر پارامتر را تنظیم کنید

  1. در فایربیس کنسول ، باز کردن پروژه شما.
  2. انتخاب کنید از راه دور پیکربندی از منوی به نمایش داشبورد پیکربندی از راه دور.
  3. پارامترهایی را با همان نام پارامترهایی که در برنامه خود تعریف کرده اید تعریف کنید. برای هر پارامتر، می‌توانید یک مقدار پیش‌فرض (که در نهایت مقدار پیش‌فرض درون برنامه را لغو می‌کند) و مقادیر شرطی تنظیم کنید. برای کسب اطلاعات بیشتر، نگاه کنید به پارامترهای راه دور پیکربندی و شرایط .

واکشی و فعال کردن مقادیر (در صورت نیاز)

به بهانه مقادیر پارامتر از باطن پیکربندی از راه دور، پاسخ 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() را اجرا غیر همزمان، این شما را قادر به اطمینان حاصل شود که مقادیر جدید اواسط محاسبه، و یا در زمان های دیگر که ممکن است مشکلات و یا رفتار عجیب و غریب باعث اعمال نمی شود.

(اختیاری) حالت توسعه دهنده را فعال کنید

برای فعال کردن حالت توسعه، که می توان به گرفتن گلوگاه غیر فعال کردن در طول توسعه استفاده می شود، شما می توانید با استفاده از FirebaseRemoteConfig.Setting اموال، تنظیم یک جدید ConfigSettings با IsDeveloperMode مجموعه ای به درست است.

مراحل بعدی

اگر شما در حال حاضر، کشف راه دور پیکربندی موارد استفاده ، و نگاهی به برخی از مفاهیم کلیدی و پیشرفته مستندات استراتژی، از جمله:

،

You can use Firebase Remote Config to define parameters in your app and update their values in the cloud, allowing you to modify the appearance and behavior of your app without distributing an app update.

The Remote Config library is used to store in-app default parameter values, fetch updated parameter values from the Remote Config backend, and control when fetched values are made available to your app. To learn more, see Remote Config loading strategies .

This guide walks you through the steps to get started and provides some sample code, all of which is available to clone or download from the firebase/quickstart-unity GitHub repository.

Add Remote Config to your app

Before you can use Remote Config , you need to:

  • Register your Unity project and configure it to use Firebase.

    • If your Unity project already uses Firebase, then it's already registered and configured for Firebase.

    • If you don't have a Unity project, you can download a sample app .

  • Add the Firebase Unity SDK (specifically, FirebaseRemoteConfig.unitypackage ) to your Unity project.

Note that adding Firebase to your Unity project involves tasks both in the Firebase console and in your open Unity project (for example, you download Firebase config files from the console, then move them into your Unity project).

Set in-app default parameter values

You can set default parameter values in the Remote Config object, to be used if no other values have been retrieved from the backend. This allows your app to behave as intended before it connects to the Remote Config backend.

To do this, create a string dictionary, and populate it with key/value pairs representing the defaults you want to add. (Non-string properties will be converted to the property's type when SetDefaultsAsync() is called).

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 => {

Get parameter values to use in your app

Now you can get parameter values from the Remote Config object. If you set values in the Remote Config backend, fetched them, and then activated them, those values are available to your app. Otherwise, you get the in-app parameter values configured using SetDefaultsAsync() .

To get these values, use GetValue() , providing the parameter key as an argument. This returns a ConfigValue , which has properties to convert the value into various base types.

Connect your app in the Firebase console

در فایربیس کنسول ، اضافه کردن برنامه های خود را به پروژه فایربیس خود را.

Set parameter values

  1. In the Firebase console , open your project.
  2. Select Remote Config from the menu to view the Remote Config dashboard.
  3. Define parameters with the same names as the parameters that you defined in your app. For each parameter, you can set a default value (which will eventually override the in-app default value) and conditional values. To learn more, see Remote Config parameters and conditions .

Fetch and activate values (as needed)

To fetch parameter values from the Remote Config backend, call the FetchAsync() method. Any values that you set on the backend are fetched and cached in the Remote Config object.

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

Values fetched via FetchAsync() are cached locally when the fetch completes, but are not made available until ActivateFetched() is invoked. Since FetchAsync() executes asynchronously, this enables you to ensure that the new values are not applied mid-calculation, or at other times that might cause problems or strange behavior.

(Optional) Enable developer mode

To enable developer mode, which can be used to disable throttling during development, you can use the FirebaseRemoteConfig.Setting property, setting a new ConfigSettings with IsDeveloperMode set to true.

مراحل بعدی

If you haven't already, explore the Remote Config use cases , and take a look at some of the key concepts and advanced strategies documentation, including:

,

You can use Firebase Remote Config to define parameters in your app and update their values in the cloud, allowing you to modify the appearance and behavior of your app without distributing an app update.

The Remote Config library is used to store in-app default parameter values, fetch updated parameter values from the Remote Config backend, and control when fetched values are made available to your app. To learn more, see Remote Config loading strategies .

This guide walks you through the steps to get started and provides some sample code, all of which is available to clone or download from the firebase/quickstart-unity GitHub repository.

Add Remote Config to your app

Before you can use Remote Config , you need to:

  • Register your Unity project and configure it to use Firebase.

    • If your Unity project already uses Firebase, then it's already registered and configured for Firebase.

    • If you don't have a Unity project, you can download a sample app .

  • Add the Firebase Unity SDK (specifically, FirebaseRemoteConfig.unitypackage ) to your Unity project.

Note that adding Firebase to your Unity project involves tasks both in the Firebase console and in your open Unity project (for example, you download Firebase config files from the console, then move them into your Unity project).

Set in-app default parameter values

You can set default parameter values in the Remote Config object, to be used if no other values have been retrieved from the backend. This allows your app to behave as intended before it connects to the Remote Config backend.

To do this, create a string dictionary, and populate it with key/value pairs representing the defaults you want to add. (Non-string properties will be converted to the property's type when SetDefaultsAsync() is called).

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 => {

Get parameter values to use in your app

Now you can get parameter values from the Remote Config object. If you set values in the Remote Config backend, fetched them, and then activated them, those values are available to your app. Otherwise, you get the in-app parameter values configured using SetDefaultsAsync() .

To get these values, use GetValue() , providing the parameter key as an argument. This returns a ConfigValue , which has properties to convert the value into various base types.

Connect your app in the Firebase console

در فایربیس کنسول ، اضافه کردن برنامه های خود را به پروژه فایربیس خود را.

Set parameter values

  1. In the Firebase console , open your project.
  2. Select Remote Config from the menu to view the Remote Config dashboard.
  3. Define parameters with the same names as the parameters that you defined in your app. For each parameter, you can set a default value (which will eventually override the in-app default value) and conditional values. To learn more, see Remote Config parameters and conditions .

Fetch and activate values (as needed)

To fetch parameter values from the Remote Config backend, call the FetchAsync() method. Any values that you set on the backend are fetched and cached in the Remote Config object.

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

Values fetched via FetchAsync() are cached locally when the fetch completes, but are not made available until ActivateFetched() is invoked. Since FetchAsync() executes asynchronously, this enables you to ensure that the new values are not applied mid-calculation, or at other times that might cause problems or strange behavior.

(Optional) Enable developer mode

To enable developer mode, which can be used to disable throttling during development, you can use the FirebaseRemoteConfig.Setting property, setting a new ConfigSettings with IsDeveloperMode set to true.

مراحل بعدی

If you haven't already, explore the Remote Config use cases , and take a look at some of the key concepts and advanced strategies documentation, including: