I don't think so. It is better to filter them in the server side. As tufanv wrote you can subscribe them to many topics based on their selected categories.
Erel, assuming my initial idea of getting push notification for all the users and make a Job to check whether that particular mobile may be alerted, why don't you recommend it?
I mean, keep track of 50,000 users doen't look a good idea. I'm on Basic since 1985 with Hotbit MSX, C, Clipper, VB-Dos, VB6, VB.net and many others, I have literally +100 developments and I never saw a "third-party database" be error proofing.
First of all, if my server gets busy for some reason (yes, I know it should not happen but nobody can be safe that it do not happens), so firebase may not be aware of any changes made by the user. Firebase database is one, my server would be a secondary source. I have lots of examples that points it as a bad solution, for example off-line (local) CRM databases.
Yes, I can handle errors or even build a windows service to constantly check for changes and verify Firebase users consistency. But all the possibilities points to a lot of work, heavly server tasks and still be passive of any kind of errors.
Thinking as simplicity and error proof, it's very clear for me that sending the push notifications to all the users and check at this moment with a Job if the user may or not be adviced is a clean, easy and error proof solution.
Erel, I really know you are a legend at programming, I would love a reason why I should not apply this solution.
Thank you!