remote-config package

Firebase Remote Config Web SDK。此 SDK 无法在 Node.js 环境中工作。

函数

函数 说明
function(应用, ...)
getRemoteConfig(应用)
function(remoteConfig, ...)
activate(remoteConfig) 使上次提取的配置可供 getter 使用。
ensureInitialized(remoteConfig) 确保上次激活的配置可供 getter 使用。
fetchAndActivate(remoteConfig) 为方便起见,执行提取和激活操作。
fetchConfig(remoteConfig) 从 Remote Config 服务提取和缓存配置。
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) 定义要使用的日志级别。
函数
isSupported() 此方法提供两种不同的检查:1.检查浏览器环境中是否存在 IndexedDB。2. 检查当前浏览器上下文是否允许 IndexedDB open() 调用。

接口

接口 说明
RemoteConfig Firebase Remote Config 服务界面。
RemoteConfigSettings 定义 Remote Config SDK 的配置选项。
使用元数据和类型安全的 getter 来封装值。

类型别名

类型别名 说明
FetchStatus 总结上次尝试从 Firebase 远程配置服务器提取配置时的结果。
  • "no-fetch-yet"表示 RemoteConfig 实例尚未尝试提取配置,或者 SDK 初始化未完成。
  • “成功”表示上次尝试成功。
  • “failure”表示上次尝试失败。
  • “节流”表示上一次尝试受到速率限制。
LogLevel 定义 Remote Config 日志记录的级别。
值来源 表示值的来源。
  • “static”表示值由静态常量定义。
  • “默认”表示该值是由默认配置定义的。
  • “remote”表示值由提取的配置定义。

function(应用, ...)

getRemoteConfig(应用)

签名

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

参数

参数 类型 说明
应用 FirebaseApp FirebaseApp 实例。

返回

RemoteConfig

一个 RemoteConfig 实例。

function(remoteConfig, ...)

启用(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>

一个 Promise,用于解析上次激活的配置何时可供 getter 使用。

fetchAndActivate(remoteConfig)

为方便起见,执行提取和激活操作。

签名

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

参数

参数 类型 说明
远程配置 RemoteConfig RemoteConfig 实例。

返回

Promise&lt;boolean&gt;

一个 Promise,如果当前调用激活了提取的配置,则解析为 true。如果提取的配置已激活,则 Promise 将解析为 false。

fetchConfig(remoteConfig)

从 Remote Config 服务提取和缓存配置。

签名

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

参数

参数 类型 说明
远程配置 RemoteConfig RemoteConfig 实例。

返回

承诺<void>

getAll(remoteConfig)

获取所有配置。

签名

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

参数

参数 类型 说明
远程配置 RemoteConfig RemoteConfig 实例。

返回

记录<字符串,值>

所有配置。

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()

isSupported()

此方法提供两种不同的检查:

  1. 检查浏览器环境中是否存在 IndexedDB。2. 检查当前浏览器上下文是否允许 IndexedDB open() 调用。

签名

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

返回

Promise&lt;boolean&gt;

Promise,如果 RemoteConfig 实例可以在此环境中初始化,则解析为 true,如果无法初始化,则解析为 false。

提取状态

总结上次尝试从 Firebase Remote Config 服务器提取配置时的结果。

  • "no-fetch-yet"表示 [RemoteConfig](./remote-config.remoteconfig.md#remoteconfig_interface) 实例尚未尝试提取配置,或者 SDK 初始化未完成。
  • “成功”表示上次尝试成功。
  • “failure”表示上次尝试失败。
  • “节流”表示上一次尝试受到速率限制。

签名

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

LogLevel

定义 Remote Config 日志记录的级别。

签名

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

值源

表示值的来源。

  • “static”表示值由静态常量定义。
  • “默认”表示该值是由默认配置定义的。
  • “remote”表示值由提取的配置定义。

签名

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