1. You have a FirebaseProject which all Apps in this project are sharing.
2. You can have multiple Apps in one project.
3. Each client (app which uses this Firebaseproject) has an firebasetoken after the app initilize.... You need to take case of all tokens. You need a server (b4j, php, asp, whatever) which all clients registers against sending their own token and the name of the deviceuser. Your server (b4j, php, ...) holds a list of all know tokens and the user behind.
4. all clients should let the server (again; b4j, php, ...) send the firebasenotification as the server can hide the project token; all clients can not. the client a tells the server to send a message to user B. The server looks into his Database and get the token from this user. The Server send the messge to this token.