3
當用戶在我的android應用程序中註冊firebase時,會生成一個FirebaseUser對象,並從中檢索用戶令牌,以將其作爲每個用戶的唯一標識符保存在我的Google雲端點後端中。爲什麼Firebase用戶令牌更改?
我使用一個auth狀態偵聽器,其被調用時用戶註冊:
mAuthListener = new FirebaseAuth.AuthStateListener() {
@Override
public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
FirebaseUser user = firebaseAuth.getCurrentUser();
if (user != null) {
mUserId = user.getToken(true).toString();
SignUpAboutFragment signUpAboutFragment = new SignUpAboutFragment();
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.replace(R.id.sign_up_fragment_container, signUpAboutFragment, SIGN_UP_ABOUT_FRAGMENT_TAG);
ft.addToBackStack(null);
ft.commit();
}
}
};
場mUserId然後被用於配置文件保存到谷歌數據存儲區:
mPresenter.saveUserData(firstName, lastName, birthday, mUserId, this, MainActivity.class);
在不同的活動我也希望使用當前的用戶令牌撥打我的端點api:
//Different activity to the above.
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
if (user != null) {
// Using getToken as recommended in the firebase docs.
mUserId = user.getToken(true).toString();
}
當我在兩個活動中記錄兩個mUserId字段時,我發現它們是不同的。
爲什麼mUserId正在改變,我如何從我的應用程序的任何位置檢索當前用戶的標記相同?
所以UID保持不變? @Rosario Pereira Fernandes –
是的@TomFinet –