core/remote_config_service
library
Classes
-
RemoteConfigKeySchema
-
One remote-config key's expected shape — registered via
RemoteConfigService's
schema constructor param (ENH-84). Reuses
EventParamType (SdkEventSchemaRegistry's own 4 primitive kinds) —
remote config values are the exact same string/int/double/bool shapes,
no need for a parallel type enum.
-
RemoteConfigService
-
Remote config / feature-flag seam. The package pulls in no HTTP/Firebase
SDK — a consuming app injects its own network call via fetchRemote
(e.g. wrapping
dio/http/Firebase Remote Config). init always loads
the bundled asset fallback first so typed getters have something valid
to return even before (or if) the network attempt resolves, then tries
fetchRemote and MERGES its entries on top of the asset defaults
key-by-key (ENH-58) — a partial response only overrides the keys it
actually sends, every other key keeps its already-validated asset
value. A null value for a key in the remote response is treated as
"no override" (skipped) rather than "set this key to null", so a
server that echoes back unset fields as null can't wipe a working
default. A missing asset or a failing/absent fetchRemote is
swallowed silently — this never throws, it just falls back to
defaults.