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 usegoogle_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, constInitializerFn *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,constInitializerFn*init_fns,size_tinit_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.
Note: If a pendingInitialize() is already running, this function will return the existingFuture rather than adding any new functions to the initializer list.
| Details | |||||||||
|---|---|---|---|---|---|---|---|---|---|
| Parameters |
| ||||||||
| Returns | A future result. When all of the initializers are completed, theFuture will be completed with Error() = 0. If an initializer fails and the situation cannot be fixed, theFuture 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,InitializerFninit_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()
Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2024-01-23 UTC.