Samuel
However I do have a backend set up so if I had to that it wouldn’t be the end of the world
1 1
Skeets App
Am looking into that as well. What endpoint are you registering device tokens against? At least on iOS you cannot register decices against the official bsky backend because of differing signing keys (app, backend).
1 1
Skeets App
Even if you connect your FCM to your APNS account (which is possible), how are you getting the notifications from Bluesky to YOUR FCM instance?
2 2
Skeets App
As far as I understand the library it only handles the client-side of push notifications. The issue I have is that i don’t see a way to enable bsky to push notifications to firebase/apns that then get delivered to 3rd party apps. For that to work bsky would need the 3rd party‘s push certificate.
1
Samuel
Hmm not sure. The way the official app works is that it gets the device push token and sends it to bsky
2 1
Skeets App
Yeah and then bsky sends the push notifications using that token and a shared certificate (shared btw app and backend). APNS checks if the app it sends the notifications to has a matching certificate. That’s the problem I see. 3rd party apps have their own push credentials.
1 2
Ansh
Check the official app. You can register a push token for users with your particular push endpoint and it should work for Graysky. Email me if you have issues at ansh [at] blueskyweb [dot] xyz
3 4
Ansh
It’s under notifications lexicon. Docs aren’t there yet unfortunately :/
1 2
Samuel
You give the api a token, an appId, and a serviceDid. The service DID tells bsky where to send notifications, which you then send to devices using APN/FCM
1 1 2
shreyan (wise)
ah, so you run your own server, and it receives a webhook-shaped thing and then can decide how to forward to devices. makes sense, i think
1 3
Samuel
My plan is to send it to a nextjs edge function and then onto firebase/apn. although the js push notification ecosystem seems terrible so I might have to choose between self hosted gorush (tricky) or something like OneSignal (vendor lock-in :/ )
1 1
Samuel
only server I have rn is nextjs serverless functions, which I am loathe to move off of because a. basically free b. super easy to use c. oblivious to traffic spikes d. colocated with the rest of my code e. super fast if I use cloudflare workers (“edge functions”)
1 1