jazzband / django-push-notifications

Send push notifications to mobile devices through GCM or APNS in Django.
MIT License
2.23k stars 605 forks source link

Firebase iOS notifications not working with new HTTP v1 API #723

Open sstuart-vigil opened 1 month ago

sstuart-vigil commented 1 month ago

I moved my app to use Firebase instead of APNS for iOS devices, and it was working with the legacy FCM API. After updating to the new HTTP v1 API notifications no longer go to iOS devices. Android devices work as expected.

When sending from the Django admin I get an 'All messages were sent.' success message, and when sending from the command line using send_message I get a success response as well.

I took the device registration ID for my iOS test device and sent a message using the firebase console and the notification worked. So the configuration is correct on that side, is there anything additionally that needs to be done in Django?

pupubird commented 1 month ago

Same here, works on android but not ios

Klemenceo commented 1 month ago

The way it gets wrapped in message is wrong now, one way to circumvent that is wrap this in a message directly as the send message special cases that type. Something like this : m = messaging.Message(notification=messaging.Notification(title="Title", body="body")) should work both on iOS and Android.

note: If you need to send high volumes of message the HTTP v1 API is slow as there is no batching endpoint, and the firebase SDK doesn't use HTTP/2 yet.