What Is an Installation ID Drop?
From MoEngage Android BOM 4.4.0, the SDK registers devices for push using the Firebase Installation ID, which is the identifier that Firebase assigns to each installation of an application on a device. An Installation ID drop is a situation where the MoEngage platform does not have the Installation ID for all the users of your application. For example, if your application is installed by 100 new users every day but the MoEngage platform holds identifiers for only 60 of them, this is an Installation ID drop.Why Is It Important to Fix It?
The identifier is required to send a push notification to your end users. Without it, push cannot be sent, so fixing the drop is required to keep your users engaged.Why Does an Installation ID Drop Occur?
An Installation ID drop can happen for several reasons:- Poor or no internet connectivity, which results in the Firebase SDK not generating the Installation ID.
com.google.firebase:firebase-messagingis below 25.1.2, which is the minimum version required for the Firebase Installation ID.- The
firebase_messaging_installation_id_enabledmetadata is missing from the application manifest file or is set tofalse. - Google Play services version mismatch, where the Play services version on the device is not compatible with the Firebase version used in the application.
- Firebase auto-initialization is disabled, or MoEngage SDK initialization is delayed, and the application does not call
registerForInstallationId(). - The application has an internal check or flag that decides whether the Installation ID is passed to the MoEngage SDK, and that flag is disabled when the identifier is generated.
- Integration error, where the application generates the Installation ID but does not pass it to the MoEngage SDK.
How to Fix It
- Confirm that the Firebase Installation ID integration is complete. Refer to Push Token Registration and Display for the current integration, and to Migrating to Firebase Installation ID if you upgraded from an earlier BOM version.
- Verify that
com.google.firebase:firebase-messagingis 25.1.2 or higher and that thefirebase_messaging_installation_id_enabledmetadata is set totruein the application manifest file. - If Firebase auto-initialization is disabled in your application, or MoEngage SDK initialization is delayed, call
registerForInstallationId()after MoEngage SDK initialization completes. - If your application passes the identifier to the SDK, remove any check before the
passInstallationIdcall, or keep the flag enabled by default, so that the identifier is passed on the first application open.
MoEngage recommends letting the MoEngage SDK generate the Installation ID and display the notification. Refer to Flow 1: MoEngage Handles Installation ID Generation.