Google is committed to advancing racial equity for Black communities. See how.
本頁面由 Cloud Translation API 翻譯而成。
Switch to English

Firebase Remote Config for Unity入門

您可以使用Firebase Remote Config在您的應用程序中定義參數並在雲中更新它們的值,從而允許您在不分發應用程序更新的情況下修改應用程序的外觀和行為。

Remote Config庫用於存儲應用程序內默認參數值,從Remote Config後端獲取更新的參數值以及控制何時將獲取的值提供給您的應用程序。要了解更多信息,請參閱遠程配置加載策略

本指南將引導您逐步入門,並提供一些示例代碼,所有示例代碼都可以從firebase / quickstart-unity GitHub存儲庫中克隆或下載。

將遠程配置添加到您的應用

在使用Remote Config之前,您需要:

  • 註冊您的Unity項目並將其配置為使用Firebase。

    • 如果您的Unity項目已經使用Firebase,則說明它已經為Firebase註冊並配置了。

    • 如果您沒有Unity項目,則可以下載示例應用程序

  • Firebase Unity SDK (特別是FirebaseRemoteConfig.unitypackage )添加到您的Unity項目中。

請注意,將Firebase添加到Unity項目中會涉及Firebase控制台和打開的Unity項目中的任務(例如,您從控制台下載Firebase配置文件,然後將它們移到Unity項目中)。

設置應用內默認參數值

您可以在遠程配置對像中設置默認參數值,如果尚未從後端檢索到其他值,則可以使用默認參數值。這使您的應用程序可以在連接到Remote Config後端之前按預期方式運行。

為此,創建一個字符串字典,並用代表您要添加的默認值的鍵/值對填充它。 (調用SetDefaults時,非字符串屬性將轉換為屬性的類型。)

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.SetDefaults(defaults);

獲取要在您的應用中使用的參數值

現在,您可以從“遠程配置”對象獲取參數值。如果您在“遠程配置”後端中設置值,先獲取它們,然後將其激活,則這些值可用於您的應用程序。否則,您將獲得使用SetDefaults()配置的應用程序內參數值。

要獲取這些值,請使用GetValue() ,提供參數鍵作為參數。這將返回ConfigValue ,該屬性具有將值轉換為各種基本類型的屬性。

在Firebase控制台中連接您的應用

Firebase控制台中 ,將您的應用添加到Firebase項目中。

設定參數值

  1. Firebase控制台中 ,打開您的項目。
  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.FetchAsync(
      TimeSpan.Zero);
  return fetchTask.ContinueWithOnMainThread(FetchComplete);
}

通過FetchAsync()獲取的值在獲取完成時會本地緩存,但是直到調用ActivateFetched()才可用。由於FetchAsync()異步執行的,因此您可以確保在計算中間或在其他時候可能導致問題或奇怪行為的情況下不應用新值。

(可選)啟用開發人員模式

要啟用開發人員模式(可用於在開發過程中禁用限制),可以使用FirebaseRemoteConfig.Setting屬性,將IsDeveloperMode設置為true來設置新的ConfigSettings

下一步

如果還沒有,請瀏覽Remote Config 用例 ,並查看一些關鍵概念和高級策略文檔,包括: