Android notifications are based on device registration ids. These registration ids change not only when you change devices but also when you install a new version of the app in the same device.

In development environments it's normal that you install your app in the same device several times in a single day to test it.

This causes your device registration id to change over time while the previous one(s) are still valid in Google registry. 

When you send a notification you are sending a copy of the message to ALL subscribed registration ids, so you get not only a copy for the most recent registration id but also for the previous ones, hence the duplication you see.

After a while Google will consider the old registration ids as invalid and will stop forwarding notifications, so you shouldn't worry. To make sure this is what's happening try using a new device where you never had your development app installed and send a push. You should only get one notification. If you don't then there's another problem in your implementation. Contact us through our support chat to drill it down.

Rest assured, this behaviour is improbable in production, since your users will not install several versions of your app in a single day.

Did this answer your question?