NotificationFlowConfig.fromAppConfig constructor
NotificationFlowConfig.fromAppConfig({
- bool showGoToSettingsPrompt = true,
- Duration? goToSettingsAskAgainAfter,
- int? goToSettingsMaxAskCount,
- NotificationFlowStrings strings = const NotificationFlowStrings(),
- Future<
bool> valuePropositionBuilder(- BuildContext context
- Future<
bool> goToSettingsBuilder(- BuildContext context
- Future<
bool> askAgainBuilder(- BuildContext context,
- NotificationDenialInfo info
Creates a NotificationFlowConfig using values from AppConfigBase.
This factory reads the notification re-request configuration from AppConfigBase, which supports environment variables, Firebase Remote Config, and programmatic defaults.
Use this to create a config that can be dynamically controlled via Remote Config.
Pass a non-null goToSettingsAskAgainAfter / goToSettingsMaxAskCount to
override the AppConfigBase value inline. When null (the default), the
values are pulled from
AppConfigBase.notificationGoToSettingsAskAgainDays and
AppConfigBase.notificationGoToSettingsMaxAskCount respectively.
Implementation
factory NotificationFlowConfig.fromAppConfig({
// Go-to-settings: pass non-null to override AppConfigBase value
bool showGoToSettingsPrompt = true,
Duration? goToSettingsAskAgainAfter,
int? goToSettingsMaxAskCount,
// Strings and builders
NotificationFlowStrings strings = const NotificationFlowStrings(),
Future<bool> Function(BuildContext context)? valuePropositionBuilder,
Future<bool> Function(BuildContext context)? goToSettingsBuilder,
Future<bool> Function(BuildContext context, NotificationDenialInfo info)? askAgainBuilder,
}) {
return NotificationFlowConfig(
askAgainAfter: Duration(days: AppConfigBase.notificationAskAgainDays),
askAgainMultiplier: AppConfigBase.notificationAskAgainMultiplier,
maxAskCount: AppConfigBase.notificationMaxAskCount,
showGoToSettingsPrompt: showGoToSettingsPrompt,
goToSettingsAskAgainAfter: goToSettingsAskAgainAfter ??
Duration(days: AppConfigBase.notificationGoToSettingsAskAgainDays),
goToSettingsMaxAskCount:
goToSettingsMaxAskCount ?? AppConfigBase.notificationGoToSettingsMaxAskCount,
strings: strings,
valuePropositionBuilder: valuePropositionBuilder,
goToSettingsBuilder: goToSettingsBuilder,
askAgainBuilder: askAgainBuilder,
);
}