firebase / firebase-admin-java

Firebase Admin Java SDK
https://firebase.google.com/docs/admin/setup
Apache License 2.0
529 stars 261 forks source link

Duplicate Notifications Delivered through FC #863

Open johnfrancmartin opened 11 months ago

johnfrancmartin commented 11 months ago

Environment:

Problem:

We're seeing multiple instances of a single message being sent via Cloud Messaging using the Firebase Admin SDK, and users seeing duplicates on iOS. We have logs both on the server side, directly before and after on the server side, and on the client side upon receipt in a Notification Service Extension.

We've verified through these logs (tied to data from user screenshots), that the message is sent only once on our server, we receive a success response from the Firebase SDK, and the user receives that exact notification twice.

Server Logs:

16:08:16.542 | al-pool-2228 |  INFO | w.SendNotificationWorker$ | 303 | 31ec5101-b43e-4519-99a1-9bb3650471c7: Successfully sent notification 2273480
16:08:16.537 | al-pool-7377 |  INFO | .n.NotificationDispatcher | 342 | Notification id 2273480 sent status true
16:08:16.537 | al-pool-7377 |  INFO | c.s.f.s.FirebaseService$  | 158 | Submitted notification to Firebase with messageId: projects/{redacted}/messages/{redacted} for notification id: 2273480
16:08:16.336 | al-pool-4602 |  INFO | w.SendNotificationWorker$ |  92 | 31ec5101-b43e-4519-99a1-9bb3650471c7: Sending notification 2273480

Client Logs:

16:08:21.092 AM -0700 | INFO | {redacted} | NotificationService | did receive notification | notificationId = 2273480
16:08:21.091 AM -0700   | INFO | {redacted} | NotificationService | did receive notification | notificationId = 2273480

Relevant Code:

val messageId = FirebaseMessaging.getInstance.send(messageBuilder.build)
logger.info(s"Submitted notification to Firebase with messageId: $messageId for notification id: ${notificationId
          .getOrElse(0L)}")
lahirumaramba commented 11 months ago

Hi @johnfrancmartin I would encourage you to submit a support request through https://firebase.google.com/support/troubleshooter/contact where you can include the project id. So the FCM team can investigate the issue. Thanks!

HirenXL commented 4 weeks ago

Did you find any solution? I'm facing the same issue.

emindeniz99 commented 4 weeks ago

Idk the solution but do you know collapse id feature of notification systems( fcm apns hms) to prevent showing two notifications same time?