Every time when open a new instance of app (after it was closed with swipe or was not in background) B4XPage_Created run and generate a new token. To avoid this I use this:
B4X:
If GetToken <> Main.Sett.GetString("fcm_token") Then
Main.Sett.Put("fcm_token", GetToken)
Main.App.RegisterForRemoteNotifications
End If
and Main.App.RegisterForRemoteNotifications will only run if token is different from the previous token, otherwise not.