An analytics class that notifies and monitors information related to events within the app,
user tracking, and more, to external services or within the app itself.
A widget that sends analytics when the widget is displayed, i.e., during impressions.
When using this widget, if you are adding this to each item in a list of items, it is recommended to set the batchGenerator for sending multiple analytics events with batch processing.
This is an abstract class that utilizes conditional import functionality
to handle LocalConfigFinder in both the app environment and web environment
using a common source code.
In the app environment, it functions as NativeLocalConfigFinder,
while in the web environment, it functions as WebLocalConfigFinder.
A RemoteConfig that can be used for testing.
This class is not intended to be used in production.
This RemoteConfig also implements WritableConfig and therefore
can be used to set values for testing.
ProviderModel is an abstract class that can be extended to create a model for state management
and safe logic flow for your application.
It uses the ChangeNotifier mixin to notify its listeners when changes occur, and therefore
can be used with Provider via ChangeNotifierProvider, and anything that can work with ChangeNotifier or Listenable.
A variable that can be used in batches and automatically
detect changes as to notify listeners when it's
value changes.
The variable can be 'set' or 'unset' depending on whether
it's value has been set or not.
If it's value has not been set and it is accessed, an
assertion will be thrown.
Class for managing all LocalConfig used by the app.
If multiple local configurations are added, the most recently added local configuration is used as the current LocalConfig.
An abstract class that provides the ability to monitor state changes of RemoteMessage.
For each feature that provides remote messages, create a RemoteMessaging that inherits from this class.
The basic functionality is the same as RepositoryProvider.
The difference is that it is used when change notifications are not needed, such as in the case of SimpleRepositoryModel,
or when dealing with simple data models.
A mixin that implements default functionality in LocalConfig.
If you don't need to implement special features, you can use this mixin to create a LocalConfig
Mix-in when creating a simple repository model that does not require change notifications.
It is possible to have change notifications, but it is often preferable to use RepositoryModel.
Use this when, due to the structure of the data model, RepositoryModel cannot be used.
Implements page navigation during StartupSequence processing.
If you are performing page navigation outside of the StandardAppPlugin system,
implement a Plugin that uses this with a mixin.
Set this to execute a callback every time scheduleFunction
is executed, after a frame has been scheduled, but before the
post frame callback is set.
Mostly used for testing purposes as a way to pump automatically.
Returns the App for the current Zone.
In almost all cases in your application, you can use this to
grab your App instance without a BuildContextT is not required and will work undefined (as dynamic).
compute doesn't work in a test environment or on the web.
This function runs compute on supported platforms but on
unsupported platforms runs a simple microtask via scheduleMicrotask.
Executes func asynchronously.
If this application is active and rendering, it will use
SchedulerBinding.addPostFrameCallback, ensuring that it will run
with a call to SchedulerBinding.scheduleFrame.
If the application is not active and rendering, ie, in the background,
it will simply add a 1ms timer and execute func after that time.