firebase / firebase/firebase-admin-java
FCM - Notification Image not displaying
- Lingua principale
- Java
- Stelle
- 620
- Fork
- 305
- Merge medio
- 3h 23m
- PR unite (30g)
- 1
Descrizione
### Describe your environment
* Operating System version: macOS 13.0 (22A380)
* Firebase SDK version: 9.1.1
* Library version: 9.1.1
* Firebase Product: Cloud Messaging (auth, database, storage, etc)
#### Steps to reproduce:
Images are not displayed on devices (both iOS and Android) when sending notifications with FCM.
I set the image URL using the Notification Builder.
```
List fcmTokens = List.of(...);
Notification notification = Notification.builder().setTitle("Hello").setBody("world").setImage("https://e-cdns-images.dzcdn.net/images/cover/f2d3db07f3f045a048cdacf53b5cf9dd/250x250-000000-80-0-0.jpg").build();
MulticastMessage message = MulticastMessage.builder()
.setNotification(notification)
.addAllTokens(fcmTokens).build();
BatchResponse response = FirebaseMessaging.getInstance().sendMulticast(message);
```
Note that I receive the notification on the devices, only the image is not displayed. I am able to see the image in the notification when sending it using the Firebase Console.
When investigating the issue, I discovered that other SDKs use `imageUrl` instead of `image` attribute.
For example, for NodeJS: https://firebase.google.com/docs/reference/admin/node/firebase-admin.messaging.notification.md#notificationimageurl
The Java SDK still uses the `image` key instead of `imageUrl`: https://github.com/firebase/firebase-admin-java/blob/master/src/main/java/com/google/firebase/messaging/Notification.java#L33
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Start with the referenced src/main/java/com/google/firebase/messaging/Notification.java and compare its image field with the linked Node.js imageUrl reference. Trace how the Notification is represented in the FCM request, then validate the supplied multicast example on iOS and Android; done means the notification image is displayed.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- firebase, java
- Ambito
- api, backend
- Tipo di issue
- Bug
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 48/100