It looks like you are using com.google.android.gms:play-services:9.0.0 (which includes play-services-gcm) and com.google.firebase:firebase-messaging:9.0.0
FCM from firebase-massaging automatically registers the instance identifier token (device identifier), so if you have logic that registers the token in your application, you are probably registered twice. This may explain the receipt of several notifications. More generally, although you should not use FCM and GCM in the same application for this reason. Therefore, if you intend to use FCM, you must remove GCM from your application.
In addition, the use of game services includes all the play-services-x APIs, such as play-services-gcm and play-services-drive, etc. Therefore, always use split libraries, such as play-services-x, and not just game services.
source share