push-receiver icon indicating copy to clipboard operation
push-receiver copied to clipboard

Fix #34 FCM registering problems and add TypeScript definitions

Open Patrick-Remy opened this issue 3 years ago • 5 comments

This PR fixes #34 and makes this project work now again (at least for me). Probably the README should be updated with the new options.

  • [x] Properly escape form data param endpoint and refactor duplicate escapes
  • [x] Add option bundleId on register, to use a custom bundleId instead of the hardcoded receiver.push.com
  • [x] Add option skipFcmRegistration on register (from #35 @selfisekai, I just renamed the option to be more convenient)
  • [x] Add TypeScript definition from (from #35)
  • [x] Fix linting issues

Patrick-Remy avatar Jul 23 '21 08:07 Patrick-Remy

Thank you for this PR @Patrick-Remy - it's not quite fixed for me but your fork gets me much closer, as at least I can register tokens successfully -

However, when trying to send a push, I'm receiving messaging/internal-error when pushing to the token I've registered via push-receiver. Sending pushes to other tokens via the same mechanism (web, iOS) works just fine. Any idea what could be causing this?

Thx for any clues!

jexe avatar Aug 22 '21 16:08 jexe

Which API are you using for sending pushes to FCM devices? Does it work for real Android devices? Did you properly set the senderId according to your Firebase project?

Patrick-Remy avatar Aug 22 '21 16:08 Patrick-Remy

Unfortunately don't have a real Android handy to test on, but has been working just fine for both iOS and web pushes..

I'm trying to send from a firebase function via the firebase messaging lib - something along the lines of admin.messaging().send({ ... payload ... })

https://firebase.google.com/docs/cloud-messaging/send-message

jexe avatar Aug 22 '21 16:08 jexe

In my tests I used the HTTP API, you could easily test it via curl: https://firebase.google.com/docs/cloud-messaging/http-server-ref

Patrick-Remy avatar Aug 22 '21 20:08 Patrick-Remy

I get the same kind of response from that endpoint, something like: {"multicast_id":6378540861801009517,"success":0,"failure":1,"canonical_ids":0,"results":[{"error":"InternalServerError"}]}

(and verified that we get other kinds of appropriate errors for bad tokens if we send them, so, the token is legit but something else weird is happening)

jexe avatar Aug 22 '21 23:08 jexe