We just migrated from GCM to FCM. For tracking uninstalls we send a silent notification to all our users and if we get a \"NotRegistered\" response we treat the user as uninstal
Reasons as to why a NotRegistered happens are stated in the docs, the third one, being a probable reason for your case (emphasis mine):
An existing registration token may cease to be valid in a number of scenarios, including:
- If the client app unregisters with FCM.
- If the client app is automatically unregistered, which can happen if the user uninstalls the application. For example, on iOS, if the APNS Feedback Service reported the APNS token as invalid.
- If the registration token expires (for example, Google might decide to refresh registration tokens, or the APNS token has expired for iOS devices).
- If the client app is updated but the new version is not configured to receive messages.
For all these cases, remove this registration token from the app server and stop using it to send messages.
Nope. As I linked above, the NotRegistered error doesn't only trigger during uninstalls. AFAIK, there is no standard way of doing this. Have a look at some of these posts.