remote-config package

Firebase 遠端設定 Web SDK。這個 SDK 無法在 Node.js 環境中運作。

函式

函式 說明
功能(應用程式, ...)
getRemoteConfig(應用程式)
function(remoteConfig, ...)
activate(remoteConfig) 讓 getter 可以使用上次擷取的設定。
ensureInitialized(remoteConfig) 確保 getter 可以使用最後啟用的設定。
fetchAndActivate(remoteConfig) 執行擷取和啟用作業,方便起見。
fetchConfig(remoteConfig) 從遠端設定服務擷取並快取設定。
getAll(remoteConfig) 取得所有設定。
getBoolean(remoteConfig, key) 取得指定鍵的值為布林值。呼叫 remoteConfig.getValue(key).asBoolean() 的便利方法。
getNumber(remoteConfig, key) 以數字形式取得指定鍵的值。呼叫 remoteConfig.getValue(key).asNumber() 的便利方法。
getString(remoteConfig, key) 以字串形式取得指定鍵的值。呼叫 remoteConfig.getValue(key).asString() 的便利方法。
getValue(remoteConfig, key) 取得指定鍵的
setLogLevel(remoteConfig, logLevel) 定義要使用的記錄層級。
function()
isSupported() 這個方法提供兩種不同的檢查:1.檢查瀏覽器環境中是否存在 IndexedDB。2. 檢查目前的瀏覽器結構定義是否允許 IndexedDB open() 呼叫。

介面

介面 說明
RemoteConfig Firebase 遠端設定服務介面。
RemoteConfigSettings 定義遠端設定 SDK 的設定選項。
使用中繼資料和類型安全 getter 包裝值。

型別別名

類型別名 說明
FetchStatus 摘要顯示最近一次從 Firebase 遠端設定伺服器擷取設定的結果。
  • 「尚未擷取」表示 RemoteConfig 執行個體尚未嘗試擷取設定,或是 SDK 初始化不完整。
  • 「成功」表示上次嘗試成功。
  • 「失敗」表示上次嘗試失敗。
  • 「throttle」表示上次嘗試發生頻率限制。
LogLevel 定義遠端設定記錄功能的層級。
ValueSource 指出值的來源。
  • 「static」表示該值由靜態常數定義。
  • 「預設」表示該值是由預設設定定義。
  • 「遠端」表示該值是由擷取的設定所定義。

function(應用程式, ...)

getRemoteConfig(應用程式)

簽名:

export declare function getRemoteConfig(app?: FirebaseApp): RemoteConfig;

參數

參數 類型 說明
應用程式 Firebase 應用程式 FirebaseApp 執行個體。

傳回:

RemoteConfig

RemoteConfig 執行個體。

function(remoteConfig, ...)

enable(remoteConfig)

讓 getter 可以使用上次擷取的設定。

簽名:

export declare function activate(remoteConfig: RemoteConfig): Promise<boolean>;

參數

參數 類型 說明
遠端設定 RemoteConfig RemoteConfig 執行個體。

傳回:

Promise&lt;boolean&gt;

如果目前呼叫已啟用擷取的設定,Promise 會解析為 true。如果擷取的設定已啟用,Promise 會解析為 false。

確保初始化(remoteConfig)

確保 getter 可以使用最後啟用的設定。

簽名:

export declare function ensureInitialized(remoteConfig: RemoteConfig): Promise<void>;

參數

參數 類型 說明
遠端設定 RemoteConfig RemoteConfig 執行個體。

傳回:

承諾<void>

getter 可使用上次啟用的設定時解析的 Promise

fetchAndActivate(remoteConfig)

執行擷取和啟用作業,方便起見。

簽名:

export declare function fetchAndActivate(remoteConfig: RemoteConfig): Promise<boolean>;

參數

參數 類型 說明
遠端設定 RemoteConfig RemoteConfig 執行個體。

傳回:

Promise&lt;boolean&gt;

如果目前呼叫已啟用擷取的設定,Promise 會解析為 true。如果擷取的設定已啟用,Promise 會解析為 false。

擷取設定(remoteConfig)

從遠端設定服務擷取並快取設定。

簽名:

export declare function fetchConfig(remoteConfig: RemoteConfig): Promise<void>;

參數

參數 類型 說明
遠端設定 RemoteConfig RemoteConfig 執行個體。

傳回:

承諾<void>

getAll(remoteConfig)

取得所有設定。

簽名:

export declare function getAll(remoteConfig: RemoteConfig): Record<string, Value>;

參數

參數 類型 說明
遠端設定 RemoteConfig RemoteConfig 執行個體。

傳回:

Record<字串,>

所有設定

getBoolean(remoteConfig, key)

取得指定鍵的值為布林值。

呼叫 remoteConfig.getValue(key).asBoolean() 的便利方法。

簽名:

export declare function getBoolean(remoteConfig: RemoteConfig, key: string): boolean;

參數

參數 類型 說明
遠端設定 RemoteConfig RemoteConfig 執行個體。
金鑰 字串 參數的名稱。

傳回:

布林值

指定鍵的值為布林值。

getNumber(remoteConfig, key)

以數字形式取得指定鍵的值。

呼叫 remoteConfig.getValue(key).asNumber() 的便利方法。

簽名:

export declare function getNumber(remoteConfig: RemoteConfig, key: string): number;

參數

參數 類型 說明
遠端設定 RemoteConfig RemoteConfig 執行個體。
金鑰 字串 參數的名稱。

傳回:

數字

指定鍵的值,以數字表示。

getString(remoteConfig, key)

以字串形式取得指定鍵的值。呼叫 remoteConfig.getValue(key).asString() 的便利方法。

簽名:

export declare function getString(remoteConfig: RemoteConfig, key: string): string;

參數

參數 類型 說明
遠端設定 RemoteConfig RemoteConfig 執行個體。
金鑰 字串 參數的名稱。

傳回:

字串

指定鍵以字串形式的值。

getValue(remoteConfig, key)

取得指定鍵的

簽名:

export declare function getValue(remoteConfig: RemoteConfig, key: string): Value;

參數

參數 類型 說明
遠端設定 RemoteConfig RemoteConfig 執行個體。
金鑰 字串 參數的名稱。

傳回:

指定鍵的值。

setLogLevel(remoteConfig, logLevel)

定義要使用的記錄層級。

簽名:

export declare function setLogLevel(remoteConfig: RemoteConfig, logLevel: RemoteConfigLogLevel): void;

參數

參數 類型 說明
遠端設定 RemoteConfig RemoteConfig 執行個體。
logLevel RemoteConfigLogLevel 要設定的記錄層級。

傳回:

void

function()

is supported()

這個方法提供兩項不同的檢查:

  1. 檢查瀏覽器環境中是否存在 IndexedDB。2. 檢查目前的瀏覽器結構定義是否允許 IndexedDB open() 呼叫。

簽名:

export declare function isSupported(): Promise<boolean>;

傳回:

Promise&lt;boolean&gt;

如果 RemoteConfig 執行個體可在這個環境中初始化,則會傳回 Promise;如果無法初始化,則為 false。

擷取狀態

摘要顯示最近一次從 Firebase 遠端設定伺服器擷取設定的結果。

  • 「尚未擷取」表示 [RemoteConfig](./remote-config.remoteconfig.md#remoteconfig_interface) 執行個體尚未嘗試擷取設定,或是 SDK 初始化作業不完整。
  • 「成功」表示上次嘗試成功。
  • 「失敗」表示上次嘗試失敗。
  • 「throttle」表示上次嘗試發生頻率限制。

簽名:

export declare type FetchStatus = 'no-fetch-yet' | 'success' | 'failure' | 'throttle';

LogLevel

定義遠端設定記錄功能的層級。

簽名:

export declare type LogLevel = 'debug' | 'error' | 'silent';

值來源

表示值的來源。

  • 「static」表示該值由靜態常數定義。
  • 「預設」表示該值是由預設設定定義。
  • 「遠端」表示該值是由擷取的設定所定義。

簽名:

export declare type ValueSource = 'static' | 'default' | 'remote';