FireForNet.Firebase.RemoteConfig
1.0.1-preview.11
Prefix Reserved
dotnet add package FireForNet.Firebase.RemoteConfig --version 1.0.1-preview.11
NuGet\Install-Package FireForNet.Firebase.RemoteConfig -Version 1.0.1-preview.11
<PackageReference Include="FireForNet.Firebase.RemoteConfig" Version="1.0.1-preview.11" />
<PackageVersion Include="FireForNet.Firebase.RemoteConfig" Version="1.0.1-preview.11" />
<PackageReference Include="FireForNet.Firebase.RemoteConfig" />
paket add FireForNet.Firebase.RemoteConfig --version 1.0.1-preview.11
#r "nuget: FireForNet.Firebase.RemoteConfig, 1.0.1-preview.11"
#:package FireForNet.Firebase.RemoteConfig@1.0.1-preview.11
#addin nuget:?package=FireForNet.Firebase.RemoteConfig&version=1.0.1-preview.11&prerelease
#tool nuget:?package=FireForNet.Firebase.RemoteConfig&version=1.0.1-preview.11&prerelease
FireForNet.Firebase.RemoteConfig
Firebase Remote Config for FireForNet.
This package provides fetch, activate, fetch-and-activate, defaults, custom signals, typed getters, reset, and realtime update subscriptions. It uses Firebase Installations identity.
builder.Services.AddFirebaseRemoteConfig(options =>
{
options.MinimumFetchInterval = TimeSpan.FromHours(12);
options.FetchTimeout = TimeSpan.FromSeconds(60);
options.RealtimeConnectTimeout = TimeSpan.FromMinutes(5);
});
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- FireForNet.Firebase.Core (>= 1.0.1-preview.11)
- FireForNet.Firebase.Installations (>= 1.0.1-preview.11)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on FireForNet.Firebase.RemoteConfig:
| Package | Downloads |
|---|---|
|
FireForNet.Firebase.RemoteConfig.Blazor
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.1-preview.11 | 62 | 6/29/2026 |
| 1.0.1-preview.10 | 77 | 6/25/2026 |
| 1.0.1-preview.9 | 58 | 6/24/2026 |
| 1.0.1-preview.8 | 61 | 6/23/2026 |
| 1.0.1-preview.7 | 76 | 6/9/2026 |
| 1.0.1-preview.6 | 55 | 6/8/2026 |
| 1.0.1-preview.5 | 64 | 6/8/2026 |
| 1.0.1-preview.4 | 72 | 6/8/2026 |
| 1.0.1-preview.3 | 57 | 6/8/2026 |
| 1.0.1-preview.2 | 61 | 6/8/2026 |
| 1.0.1-preview.1 | 59 | 6/8/2026 |
| 1.0.0-preview10 | 65 | 6/8/2026 |
v1.0.1-preview.11
- Synchronized package version with the preview.11 release.
v1.0.1-preview.10
- Synchronized package version with the preview.10 release.
v1.0.1-preview.9
- Synchronized package version with the preview.9 release.
v1.0.1-preview.8
- Synchronized package version with the preview.8 release.
v1.0.1-preview.7
- Realtime streaming keeps FireForNet's default 5-minute RealtimeConnectTimeout while Core's default HttpClient timeout remains platform-owned.
- Retryable realtime connect/read failures (transport exceptions, HTTP 408/429/5xx) are kept inside the retry loop and reported to subscribers only when the retry budget is exhausted.
- Non-retryable realtime responses (e.g. HTTP 403) still surface immediately to subscribers.
- Realtime handshake now starts from the freshest known baseline (last-fetched template version/ETag) instead of only the activated baseline, matching Android and iOS SDK behavior for faster invalidation detection.
- Added LastFetchedETag and LastFetchedTemplateVersion to RemoteConfigFetchMetadata, persisted on every successful fetch.
- Added regression coverage for realtime retry-limit, non-retryable error semantics, and last-fetched metadata persistence.
v1.0.1-preview.6
- Redesigned IFirebaseRemoteConfig.OnConfigUpdatedAsync to use awaited Task-returning update and error callbacks, so applications can activate fetched realtime values without fire-and-forget work.
- Realtime subscribers now await update callbacks and route callback failures to the async error callback when one is registered.
v1.0.1-preview.5
- Fixed parameterless FetchAsync to hydrate persisted settings before applying the default minimum fetch interval.
- Fixed OnConfigUpdatedAsync to initialize the realtime lifecycle monitor before subscribing, matching Blazor foreground/background ownership.
- Added FirebaseRemoteConfigBuilder.RealtimeConnectTimeout and now honors configured RealtimeMaxRetries in the realtime reconnect loop.
- Added RealtimeConnectTimeout to ConfigSettings and FirebaseRemoteConfigOptions (default 5 minutes).
- Separated realtime streaming connection timeout from regular fetch timeout, matching Android/iOS/JS SDK behavior where long-lived streamFetchInvalidations connections use no client-side timeout.
- ConnectRealtimeAsync now uses RealtimeConnectTimeout instead of FetchTimeout, preventing premature timeout on platforms where HttpClient.Timeout applies (native .NET MAUI/Desktop/WinUI).
v1.0.1-preview.4
- Synchronized package version with the preview.4 release.
- Moved IRealtimeLifecycleMonitor initialization from RealtimeListener stream startup to IFirebaseRemoteConfig.EnsureReadyAsync and OnConfigUpdatedAsync for correct lifecycle ownership
v1.0.1-preview.3
- Fixed realtime stream parsing: replaced line-based StreamReader.ReadLineAsync with raw byte accumulation and JSON brace-boundary detection, matching Android/JS/iOS SDKs.
- Fixed realtime message deserialization: latestTemplateVersionNumber is sent as a quoted string by the server, not a bare number.
- Added reconnection retry with exponential backoff (base 60s, 2x multiplier, ±50% jitter, max 8 retries) matching Android/JS.
- Added fetch retry on invalidation: up to 3 attempts with random 0-4s delay, comparing fetched template version against target version (matching Android/JS autoFetch).
- Fixed retryIntervalSeconds handling: server-specified delay now correctly delays reconnection instead of being wasted.
- Added IRealtimeLifecycleMonitor contract for background/foreground lifecycle management. No-op default registered by AddFirebaseRemoteConfig(); integration packages provide platform implementations.
- Added RealtimeRetryLimitExceeded error code for exhausted retry budget.
v1.0.1-preview.2
- Added X-Google-GFE-Can-Retry and X-Accept-Response-Streaming headers to realtime stream requests for parity with Android/iOS SDKs.
- Added X-Firebase-RC-Fetch-Type, X-Google-GFE-Can-Retry, and X-Accept-Response-Streaming headers unconditionally from core; browser platforms strip them via integration-layer interceptors.
- Fixed CORS preflight failure on Blazor WASM by moving platform-specific header filtering to the Blazor integration package.
v1.0.1-preview.1
- Added platform store integration support (Blazor, Browser, Sqlite, Windows, Maui) via segregated store interfaces.
- InMemoryRemoteConfigStore remains the default when no platform store is registered.
- Bumped to preview10.
v1.0.0-preview9
- Synchronized package version with the preview9 release.
v1.0.0-preview8
- Synchronized package version with the preview8 release.
v1.0.0-preview7
- Synchronized package version with the preview7 Firestore local-cache architecture rework release.
v1.0.0-preview6
- Synchronized package version with the preview6 release.
v1.0.0-preview5
- Synchronized package version with the preview5 release.
v1.0.0-preview4
- Synchronized package version with the preview4 release.
v1.0.0-preview3
- Synchronized package version with the preview3 release.
v1.0.0-preview2
- Initial v1.0.0-preview2 package.