This looks fine and I was able to get my Kinvey messages pushed to iOS and my Android device.
The problem is that each time I modify my app, I suppress it from the Android device, deploy it, then it creates a new registration with Kinvey.
Then, instead of 1 push notification, I get as many notifications as I deployed a new version.
If I debug my app 15 times and deploy it to my Android tablet, then I will get 15 copies of my notification.
It seems to be a known behavior. How can we avoid the Android device to register each time? Any way to check the registration and skip it if Kinvey already has the Device ID?
iOS is fine, it shows only 1 notification.
Have you may forgotten "ON DUPLICATE KEY UPDATE"?
INSERT INTO gcm_dixy (`DeviceID`, `DeviceToken`, `last_update`, `add_date`, `RequestCount`, `Active`) VALUES ('$DeviceID','$DeviceToken', NOW(),NOW(), 1, 1) ON DUPLICATE KEY UPDATE `DeviceToken` = '$DeviceToken', `last_update` = NOW(), `RequestCount` = `RequestCount` + 1, `Active` = 1
1. Install the application on the android device.
2. Send one push from Kinvey panel.
Good. All well
see one push in application.
3. Remove this application from the android device.
4. Install again this application on the android device.
5. Send one push from Kinvey panel.
Bad - we get duplication by push in this application.
Other people confirm this in the comments: