Meine App erfordert, dass sich Benutzer registrieren und anmelden, um die App zu verwenden. Ich verwende Firebase-Authentifizierung zur Authentifizierung von Benutzern. Das Problem ist, wenn ein Benutzer die App herunterlädt und sich nicht anmeldet, erhält er von anderen Benutzern gesendete Push-Benachrichtigungen, was nicht passieren sollte. Der Benutzer sollte Benachrichtigungen nur dann mit der App erhalten, wenn er angemeldet ist. Dies geschieht, weil die Token sofort nach dem Herunterladen der App generiert und gespeichert werden. Wie kann ich Token nur generieren, wenn der Benutzer sich angemeldet hat? Dies ist der Code, den ich versucht, aber die Zeichen überhaupt nicht zu verwenden, zu erzeugen:Wie erzeuge ich Tokens, wenn sich der Benutzer angemeldet hat?
private FirebaseAuth.AuthStateListener mAuthListener;
@Override
public void onTokenRefresh() {
final String recent_token = FirebaseInstanceId.getInstance().getToken();
Log.d(REG_TOKEN, recent_token);
//databaseReference = FirebaseDatabase.getInstance().getReference().child("Blog");
mAuth = FirebaseAuth.getInstance();
mAuthListener = new FirebaseAuth.AuthStateListener() {
@Override
public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
if (firebaseAuth.getCurrentUser() != null) {
if(recent_token!=null)
Log.d(REG_TOKEN, recent_token);
else if(recent_token==null)
onTokenRefresh();
}
}
};
}}
Eigentlich möchte ich, dass alle Geräte, die meine App herunterladen, in der Lage sein sollten, Benachrichtigungen über alles im Zusammenhang mit meiner App zu erhalten. Der einzige Haken ist, dass sie in meiner App registriert sein sollten. Lediglich das Herunterladen der App sollte ihnen keine Benachrichtigungen liefern. Wie bei Facebook, bis Sie nicht angemeldet sind, erhalten Sie keine Benachrichtigungen. –
Das Abonnieren von Themen dient nicht wirklich meinem Zweck. Aber trotzdem danke für deinen Vorschlag. –