Sorry for the late response, due to non-working day here.
It's a bit difficult to propose something more than what
@Erel and
@DonManfred have already exposed so professionally in the tutorials and threads mentioned, and without knowing more in detail the characteristics of your design.
In my case, for example, I handle three levels of topics: one "general", another related to "e-mail" and another directly to the "license plate" of the driver's specific vehicle, subscribing it in the same way as the "general" topic of the examples.
It is worth mentioning that these data are known by the server application and stored in a database.
Public Sub SubscribeToTopics
fm.SubscribeToTopic("general") 'you can subscribe to more topics
Log(fm.Token) '<<<------------ LOOK AT HERE AND TAKE NOTE OF LONG STRING!
fm.SubscribeToTopic(Starter.eMailID) 'you can subscribe to more topics
fm.SubscribeToTopic(Starter.plate) 'you can subscribe to more topics
End Sub
That means Firebase cannot send message based on token
Why Not?
However, the token provided by the FirebaseMessaging library works very well, only you must have a mechanism to know it and store it in your server database, to then make the POST of the message to the specific token. Considering that this token can eventually be changed, without me knowing the cause of it. My apologies.
TIP: You need to start the app after install, otherwise messaging service is not created.
I have the slight suspicion that perhaps it is the structure or syntax of the message that could cause confusion, or the way you are sending it.
I hope you can provide more information.