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 遠程配置

透過集合功能整理內容 你可以依據偏好儲存及分類內容。


您可以使用 Firebase 遠程配置在應用中定義參數並在雲中更新它們的值,從而允許您修改應用的外觀和行為,而無需分發應用更新。

遠程配置庫用於存儲應用內默認參數值,從遠程配置後端獲取更新的參數值,並控制獲取的值何時可用於您的應用。要了解更多信息,請參閱遠程配置加載策略

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

第 1 步:將遠程配置添加到您的應用程序

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

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

    • 如果您的 Unity 項目已經使用 Firebase,那麼它已經為 Firebase 註冊和配置。

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

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

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

第 2 步:設置應用內默認參數值

您可以在 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 步:獲取要在您的應用中使用的參數值

現在您可以從遠程配置對像中獲取參數值。如果您在遠程配置後端設置值,獲取它們,然後激活它們,那麼這些值對您的應用程序可用。否則,您將獲得使用SetDefaultsAsync()配置的應用內參數值。

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

第 4 步:在 Firebase 控制台中連接您的應用

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

第 5 步:設置參數值

  1. Firebase 控制台中,打開您的項目。
  2. 從菜單中選擇遠程配置以查看遠程配置儀表板。
  3. 定義與您在應用程序中定義的參數同名的參數。對於每個參數,您可以設置默認值(最終將覆蓋應用內默認值)和條件值。要了解更多信息,請參閱遠程配置參數和條件

第 6 步:獲取並激活值(根據需要)

要從遠程配置後端獲取參數值,請調用FetchAsync()方法。您在後端設置的任何值都會被獲取並緩存在遠程配置對像中。

// 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設置為 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: