Skip to content

Duplicate Notifications Delivered through FC #863

Open
@johnfrancmartin

Description

@johnfrancmartin

Environment:

  • Operating System version: Java 8
  • Firebase SDK version: 10.11.0
  • Library version: 8.1.0
  • Firebase Product: messaging (auth, database, storage, etc)

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)}")

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions