I have successfully setup my first Discourse forum having force SSO login.
I would like to have this forum integrated in mobile app as well, for better impressions and was looking for Cloud Messaging options around. As Discourse has only push notifications, I have figured out the webhook way, which will send notifications to my external server, which will handle GCM/FCM calls.
It was successful with the integration, but I would like to prevent sending notifications to the same user who had posted/replied. I can identify the user if email address or SSO external ID is passing along with webhook requests (username trim from @!).
Can someone provide a solution to get posted user’s email/SSO external ID in webhook?
Thanks in advance.
I have a solution here, not straight forward, but I feel it should work.
- Create another webhook which will be triggered on User Event
- Disable email editable option for users
- When the webhook triggers, take user email address and update user’s forum ID in user database.
- When user login in the mobile application, get user’s FCM/GCM ID
- Update FCM/GCM ID user database
- When topic/post event trigerrs
a) Send to all users through topics subscription, mention user’s FCM/GCM ID in data payload and skip showing the notification to that user
b) Get users who are eligible to get notifications (having mobile app) except the one who has posted/replied and send to others (This is not a scalable solution, I suppose)
Any other suggestions or straight forward methods/approach available?