firebase:: ModuleInitializer
#include <util.h>
Utility class to help with initializing Firebase modules.
Summary
This optional class handles a basic Firebase C++ SDK code pattern: attempt to initialize a Firebase module, and if the initialization fails on Android due to Google Play services being unavailable, prompt the user to update/enable Google Play services on their device.
If the developer wants more advanced behavior (for example, wait to prompt the user to update or enable Google Play services until later, or opt not to use Firebase modules), they can still initialize each Firebase module individually, and use google_play_services::MakeAvailable() directly if any initializations fail.
Constructors and Destructors |
|
---|---|
ModuleInitializer()
|
|
~ModuleInitializer()
|
Public types |
|
---|---|
InitializerFn)(App *app, void *context)
|
typedef Initialization function, which should initialize a single Firebase module and return the InitResult. |
Public functions |
|
---|---|
Initialize(App *app, void *context, const InitializerFn *init_fns, size_t init_fns_count)
|
Future< void >
Initialize Firebase modules by calling one or more user-supplied functions, each of which must initialize at most one library, and should return the InitResult of the initialization.
|
Initialize(App *app, void *context, InitializerFn init_fn)
|
Future< void >
Initialize one Firebase module by calling a single user-supplied function that should initialize a Firebase module and return the InitResult.
|
InitializeLastResult()
|
Future< void >
Get the result of the most recent call to.
|
Public types
InitializerFn
InitResult(* InitializerFn)(App *app, void *context)
Initialization function, which should initialize a single Firebase module and return the InitResult.
Public functions
Initialize
Future< void > Initialize( App *app, void *context, const InitializerFn *init_fns, size_t init_fns_count )
Initialize Firebase modules by calling one or more user-supplied functions, each of which must initialize at most one library, and should return the InitResult of the initialization.
This function will run the initializers in order, checking the return value of each. On Android, if the InitResult returned is kInitResultFailedMissingDependency, this indicates that Google Play services is not available and a Firebase module requires it. This function will attempt to fix Google Play services, and will retry initializations where it left off, beginning with the one that failed.
Details | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameters |
|
||||||||
Returns |
A future result. When all of the initializers are completed, the Future will be completed with Error() = 0. If an initializer fails and the situation cannot be fixed, the Future will be completed with Error() equal to the number of initializers that did not succeed (since they are run in order, this tells you which ones failed).
|
Initialize
Future< void > Initialize( App *app, void *context, InitializerFn init_fn )
Initialize one Firebase module by calling a single user-supplied function that should initialize a Firebase module and return the InitResult.
See also:Initialize(::firebase::App*, void*, const InitializerFn*) for more information.
InitializeLastResult
Future< void > InitializeLastResult()
Get the result of the most recent call to.
See also:Initialize().
ModuleInitializer
ModuleInitializer()
~ModuleInitializer
virtual ~ModuleInitializer()