AppConfigBase class
Constructors
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Properties
- appCheckEnabled → bool
-
Per-build enable gate for App Check. Default
true— when an AppCheckConfig is passed todreamicBootstrap, App Check activates. Set--dart-define=APP_CHECK_ENABLED=falseto disable activation for a single build (e.g. local debugging) WITHOUT removing the config frommain(). (App Check is still entirely off when no config is passed at all.)no setter - appCheckEnabledOverride ← bool?
-
For testing only: override appCheckEnabled.
no getter
- appCheckRecaptchaSiteKey → String
-
The web reCAPTCHA site key App Check uses on web. Empty ⇒ web falls back to
the debug provider (keyless-web guard in AppCheckConfig.resolveWebProvider).
no setter
- appCheckRecaptchaSiteKeyDefault ← String?
-
Programmatic default for appCheckRecaptchaSiteKey. Set this from your
app's config (before bootstrap). Overridden by the
APP_CHECK_RECAPTCHA_SITE_KEYdart-define when provided.no getter - appCheckRecaptchaSiteKeyOverride ← String?
-
For testing only: override the resolved appCheckRecaptchaSiteKey.
no getter
- appCheckUseDebugProviders → bool
-
Whether App Check uses the DEBUG attestation providers instead of the real
ones (Play Integrity / App Attest / reCAPTCHA).
no setter
- appCheckUseDebugProvidersOverride ← bool?
-
For testing only: override appCheckUseDebugProviders.
no getter
- appStoreAndroidUrl → String
-
no setter
- appStoreAndroidUrlDefault ← String
-
no getter
- appStoreAppleUrl → String
-
no setter
- appStoreAppleUrlDefault ← String
-
no getter
- appStoreUrl → String
-
no setter
- authMainCallableFunction → String
-
no setter
- authMainCallableFunctionDefault ← String
-
no getter
- backendEmulatorAuthPort → int
-
no setter
- backendEmulatorEventArcPort → int
-
no setter
- backendEmulatorFirestorePort → int
-
no setter
- backendEmulatorFunctionsPort → int
-
no setter
- backendEmulatorHostingPort → int
-
no setter
- backendEmulatorPubSubPort → int
-
no setter
- backendEmulatorRemoteAddress → String
-
no setter
- backendEmulatorStartingPort → int
-
no setter
- backendEmulatorStartingPortDefault ← int
-
no getter
- backendEmulatorStoragePort → int
-
no setter
- backendEmulatorTasksPort → int
-
no setter
- backendFirestoreDatabaseId → String?
-
The Firestore database id the app connects to.
no setter
- backendFirestoreDatabaseIdDefault ← String?
-
Programmatic default for backendFirestoreDatabaseId. Set this from your
app's config (before any Firestore use). Overridden by the
BACKEND_FIRESTORE_DATABASE_IDdart-define when that is provided.no getter - backendRegion → String
-
no setter
- backendRegionDefault ← String
-
no getter
-
Threshold for forwarding breadcrumbs to the error reporter, evaluated at
breadcrumb-emit time and independent of the console logLevel. Mirrors
logLevel exactly: dart-define
breadcrumbLevel→ Remote ConfigbreadcrumbLevel→ defaultRemoteConfig defaultinfo, with the same GetIt-not-ready try/catch fallback so early-boot reads never throw (ERH-008).no setter -
no getter
- buildDate → String
-
no setter
- connectionCheckerUrlOverride → String
-
no setter
- connectionCheckerUrlOverrideDefault ← String
-
no getter
- debugDeepStateMode → bool
-
no setter
-
defaultRemoteConfig
↔ Map<
String, Object> -
getter/setter pair
- devActionsFunction → String
-
no setter
- devActionsFunctionDefault ← String
-
no getter
- deviceActionFunction → String
-
The Firebase callable function name for device operations.
no setter
- deviceActionFunctionDefault ← String
-
no getter
- devicePendingBackoffMinutes → int
-
Backoff interval in minutes between pending payload flush attempts.
no setter
- devicePendingBackoffMinutesDefault ← int
-
no getter
- deviceTimezoneChangeDebounceMinutes → int
-
Debounce interval in minutes when timezone/offset has changed.
no setter
- deviceTimezoneChangeDebounceMinutesDefault ← int
-
no getter
- deviceTimezoneUnchangedSyncMaxMinutes → int
-
Maximum interval in minutes for forced timezone refresh even when unchanged.
no setter
- deviceTimezoneUnchangedSyncMaxMinutesDefault ← int
-
no getter
- deviceTimezoneUnchangedSyncMinMinutes → int
-
Minimum interval in minutes between timezone sync attempts when timezone/offset is unchanged.
no setter
- deviceTimezoneUnchangedSyncMinMinutesDefault ← int
-
no getter
- deviceTouchThrottleMinutes → int
-
Throttle interval in minutes for touchDevice() calls.
no setter
- deviceTouchThrottleMinutesDefault ← int
-
no getter
- devOnlyAutoGenerateNewUser → bool
-
no setter
- devOnlyAutoGenerateNewUserAccessLevel → String
-
no setter
- devOnlyUid → String
-
no setter
- doDisableErrorReporting → bool
-
no setter
- doDisableErrorReportingOverride ← bool?
-
For testing only: override the doDisableErrorReporting value
no getter
- doForceErrorReporting → bool
-
no setter
- doForceErrorReportingOverride ← bool?
-
For testing only: override the doForceErrorReporting value
no getter
- doOverrideUseLiveRemoteConfig → bool
-
no setter
- doPrefillInputs → bool
-
no setter
- doUseBackendEmulator → bool
-
no setter
- doUseBackendEmulatorOverride ← bool?
-
For testing only: override the doUseBackendEmulator value
no getter
- editorPreviewMode ↔ bool
-
getter/setter pair
- emailConfirmMobileOrigin → String
-
no setter
- emailConfirmMobileOriginDefault ← String
-
no getter
- environmentType → EnvironmentType
-
no setter
- environmentTypeString → String
-
Get the environment type as a string value
no setter
- fcmAutoInitialize → bool
-
Whether to automatically initialize FCM and request notification permissions on login.
Default is false - consuming apps must explicitly request notification permissions.
Set to true for automatic permission prompt on login (legacy behavior).
no setter
- fcmAutoInitializeDefault ← bool
-
no getter
- firebaseApp ↔ FirebaseApp
-
Get the Firebase app instance. Throws if Firebase is not initialized.
getter/setter pair
- firebaseFunctionCallableOptions → HttpsCallableOptions
-
no setter
- firebaseFunctionTimeoutSecs → int
-
no setter
- firebaseFunctionTimeoutSecsDefault ← int
-
no getter
- firebaseFunctionTimeoutSecsLong → int
-
no setter
- firebaseFunctionTimeoutSecsLongDefault ← int
-
no getter
- firestore → FirebaseFirestore
-
The app-wide
FirebaseFirestoreinstance, targeting backendFirestoreDatabaseId (the(default)database when that is null).no setter - gitBranch → String
-
no setter
- gitCommit → String
-
no setter
- gitTag → String
-
no setter
- isAndroidSimulator → bool
-
no setter
- isFirebaseInitialized ↔ bool
-
Check if Firebase is initialized and available for use.
getter/setter pair
- isIOSSimulator → bool
-
Initialize iOS simulator detection state for FCM configuration
Call this during app initialization to ensure proper FCM defaults
no setter
- isSimulatorDevice → bool
-
no setter
- isStandalonePwaOverride → bool
-
no setter
- lockOrientationToLandscape → bool
-
no setter
- lockOrientationToLandscapeDefault ← bool
-
no getter
- lockOrientationToPortrait → bool
-
no setter
- lockOrientationToPortraitDefault ← bool
-
no getter
- logLevel → LogLevel
-
no setter
- logLevelDefault ← String
-
no getter
- minimumAppVersionRecommendedApple → String
-
no setter
- minimumAppVersionRecommendedAppleDefault ← String
-
no getter
- minimumAppVersionRecommendedGoogle → String
-
no setter
- minimumAppVersionRecommendedGoogleDefault ← String
-
no getter
- minimumAppVersionRecommendedWeb → String
-
no setter
- minimumAppVersionRecommendedWebDefault ← String
-
no getter
- minimumAppVersionRequiredApple → String
-
no setter
- minimumAppVersionRequiredAppleDefault ← String
-
no getter
- minimumAppVersionRequiredGoogle → String
-
no setter
- minimumAppVersionRequiredGoogleDefault ← String
-
no getter
- minimumAppVersionRequiredWeb → String
-
no setter
- minimumAppVersionRequiredWebDefault ← String
-
no getter
- mobileEmailLinkActionCodeSettingsBuilder ↔ MobileEmailLinkActionCodeSettingsBuilder?
-
Optional escape-hatch builder for mobile email-link
ActionCodeSettings. When set, dreamic defers entirely to this callback and ignoresemailConfirmMobileOrigin.getter/setter pair - networkRequiredOverride → String
-
no setter
- notificationAskAgainDays → int
-
Number of days to wait before asking for notification permission again after denial.
This is the base delay; if notificationAskAgainMultiplier > 1, subsequent delays will increase.
no setter
- notificationAskAgainDaysDefault ← int
-
no getter
- notificationAskAgainMultiplier → double
-
Multiplier applied to the delay between each subsequent permission request.
no setter
- notificationAskAgainMultiplierDefault ← double
-
no getter
- notificationGoToSettingsAskAgainDays → int
-
Number of days to wait before re-showing the "go to settings" prompt to a
permanently-denied user who previously declined to open settings.
no setter
- notificationGoToSettingsAskAgainDaysDefault ← int
-
no getter
- notificationGoToSettingsMaxAskCount → int?
-
Maximum number of "go to settings" prompts shown to a permanently-denied
user. Returns
nullwhen unlimited (cooldown is the sole gate).no setter - notificationGoToSettingsMaxAskCountDefault ← int?
-
no getter
- notificationMaxAskCount → int
-
Maximum number of times to ask for notification permission after denials.
After this many denials, the app will stop asking (until tracking is cleared).
no setter
- notificationMaxAskCountDefault ← int
-
no getter
- notificationsUpdateFcmTokenAction → String
-
no setter
- notificationsUpdateFcmTokenActionDefault ← String
-
no getter
- notificationsUpdateFcmTokenFunction → String
-
no setter
- notificationsUpdateFcmTokenFunctionDefault ← String
-
no getter
- notificationsUpdateFcmTokenGroupFunction → String?
-
no setter
- notificationsUpdateFcmTokenGroupFunctionDefault ← String?
-
no getter
- notificationsUpdateFcmTokenUseGrouped → bool
-
Whether to use grouped style for notificationsUpdateFcmToken
no setter
- notificationValuePropReminderCooldownDays → int
-
Number of days to wait before re-prompting a user who declined the
in-app value-proposition sheet (the "Not Now" cohort, distinct from
system-denied).
no setter
- notificationValuePropReminderCooldownDaysDefault ← int
-
no getter
- notificationValuePropReminderMaxAskCount → int?
-
Maximum number of value-proposition reminders shown to a user who
previously declined the in-app value-proposition sheet. Returns
nullwhen unlimited (cooldown is the sole gate).no setter - notificationValuePropReminderMaxAskCountDefault ← int?
-
no getter
- recommendedAppVersion → String
-
no setter
- requiredAppVersion → String
-
no setter
- retryAttemptsCountMax → int
-
no setter
- retryAttemptsCountMaxDefault ← int
-
no getter
- signoutOnReload → bool
-
no setter
- timeoutBeforeShowingLoading → Duration
-
no setter
- timeoutBeforeShowingLoadingMill → int
-
no setter
- timeoutBeforeShowingLoadingMillDefault ← int
-
no getter
- timeoutForAboutToLogOutCallbackMill → int
-
no setter
- timeoutForAboutToLogOutCallbackMillDefault ← int
-
no getter
- timeoutNetworkProcess → Duration
-
no setter
- timeoutNetworkProcessMill → int
-
no setter
- timeoutNetworkProcessMillDefault ← int
-
no getter
- useCookieFederatedAuth → bool
-
no setter
- useCookieFederatedAuthDefault ← bool
-
no getter
- useFCM → bool
-
no setter
- useFCMDefault ← bool
-
no getter
- useFCMWeb → bool
-
Whether to enable FCM on web platforms.
Default is false - web FCM requires VAPID key and service worker setup.
Set to true only if you've configured web push notifications.
no setter
- useFCMWebDefault ← bool
-
no getter
- useHtmlInput → bool
-
no setter
- wakelockEnabledAllTheTime → bool
-
no setter
- wakelockEnabledAllTheTimeDefault ← bool
-
no getter
Static Methods
-
firebaseFunctionCallable(
String name) → HttpsCallable -
firebaseFunctionUri(
String name) → Uri -
getBuildInfo(
) → Future< String> - Get detailed build info for UI display.
-
getBuildNumber(
) → Future< String> - Get the app build number (e.g., "42")
-
getPackageInfo(
) → Future< PackageInfo> - Get the app's PackageInfo (version, build number, etc.) This is cached after the first call for better performance.
-
getReleaseId(
) → Future< String> - Get a unique release identifier including app name.
-
getVersion(
) → Future< String> - Get the app version string (e.g., "1.0.0")
-
getVersionForDisplay(
) → Future< String> - Get the app version for display purposes.
-
init(
) → Future< void> - Do this in main
-
initializeEmulatorAddress(
) → Future< void> - Initialize the emulator address with automatic discovery if needed Call this before connecting to Firebase emulators This is separate from the main init because it is expensive and should not block app startup outside of using the Firebase emulator
-
resetBreadcrumbLevelWarnedForTest(
) → void -
For testing only: reset the one-time invalid-
breadcrumbLevelwarning guard so order-dependent tests can re-assert the warning fires.
Constants
-
configBounds
→ const Map<
String, ({int max, int min})> -
Operational bounds for Remote Config int values.
Only applied to remote values — env overrides bypass these for testing flexibility.
Min bounds start at 1 because Firebase Remote Config getInt() returns 0 for
unset keys, and all getters use
if (remoteValue > 0)to detect "set" values. - notificationMaxAskCountUnlimited → const int
-
Sentinel stored in defaultRemoteConfig to mean "unlimited" for the
notification max-ask-count programmatic defaults. Firebase Remote Config
setDefaultsrejectsnull(it must be bool/num/String), sonullcannot be stored in the defaults map; this-1sentinel is stored instead and the getters map it back tonull(= unlimited).