How to send notifications to one of two apps in th

2020-03-31 04:06发布

问题:

We have multiple apps at the same project of firebase like Master, Develop, testing.

And for sure every one of them has different users and we want to send to one app and not reach to other apps as all of them have the same topics how to solve this issue?

回答1:

You could filter the notifications in each app by a given identifier which you attach to the notifications.



回答2:

Lets say you currently have Apps: A, B, C All registered to:

  • A: registered to FUN topic
  • B: registered to FUN topic
  • C: registered to FUN topic

All you need to do is to register them to another topic individualy for identifying them, like this:

  • A: registered to FUN topic and to APPA topic
  • B: registered to FUN topic and to APPB topic
  • C: registered to FUN topic and to APPC topic

Now you can target the notification to be sent with a condition causing the notification to be targeted specifically to whatever you want, the following example targets notifications to whoever is subscribed to topic: FUN and APPB:

https://fcm.googleapis.com/fcm/send
Content-Type:application/json
Authorization:key=AIzaSyZ-1u...0GBYzPu7Udno5aA
{
  "condition": "'FUN' in topics && 'APPB' in topics",
  "data": {
    "message": "This is a Firebase Cloud Messaging Topic Message!",
   }
}

more on this can be found in this Firebase documentation page



回答3:

after a lot of search i didn't got an answer from firebase side to differentiate between 2 apps so i just made a condition into background message service and know if the app is develop or master version and then push the notification if it's my correct version



回答4:

You can use the restricted_package_name parameter (if your master, develop and testing have different package names) to filter the receivers by package name.

To highlight @Doug Stevenson's comment. It is not recommended to put these three environments in one project