0
我的應用需要用戶註冊並登錄才能使用該應用。我正在使用Firebase身份驗證來驗證用戶身份。問題是如果用戶下載應用程序並且沒有登錄,它會收到其他用戶發送的不應該發生的推送通知。用戶只應在他/她登錄時纔會收到與應用程序相關的通知。發生這種情況是因爲令牌是在應用程序下載後立即生成和存儲的。僅當用戶已登錄時,如何生成令牌? 這是我嘗試使用的代碼,但令牌不產生在所有:如何在用戶登錄時生成令牌?
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();
}
}
};
}}
其實我想要下載我的應用程序的所有設備應該能夠得到有關我的應用程序的所有相關的通知唯一的問題是他們應該註冊到我的應用程序。僅僅下載應用程序不應該爲他們提供通知。與Facebook相同,除非您未登錄,否則不會收到任何通知。 –
訂閱主題並不真正服務於我的目的。但無論如何感謝您的建議。 –