2017-05-10 60 views
0

我想在Android上實現一個試用功能,並希望使它難以規避,但它不一定是完美的。我希望Firebase可以爲此提供幫助。他們是否知道諸如用戶的原始安裝時間之類的東西,並且是否保持在重新安裝?Android上的Firebase會在重新安裝時跟蹤用戶嗎?

謝謝。

編輯:現在我想我可以儲存安裝時間綁定到ANDROID_ID,這可能是足夠好的,但如果任何人有任何建議更好/更簡單的方法做到這一點,請讓我知道。

回答

0

在某些情況下,ANDROID_ID值可能爲空,因此這不是一個好習慣。它不保證每個用戶的唯一標識符。如果您需要每個用戶的唯一ID(UID),則可以使用Firebase Authentication來獲取用戶的UID。即使用戶在不同設備上登錄,用戶通過身份驗證後,UID也不會更改。但是,如果用戶尚未通過身份驗證,每個用戶都將更改UID以清除應用程序的數據。

你可以得到用戶的UID時,他們已經登錄:

FirebaseAuth auth = FirebaseAuth.getInstance(); 
FirebaseUser user = auth.getCurrentUser(); 
if (user != null){ // logged in 
    String uid = user.getUid(); 
} 
+0

我看着火力地堡認證,我的問題是,我不希望一個登錄打擾用戶,因爲沒有其他的功能這將需要登錄,並且當我使用'signInAnonymously'進行測試時,每次重新安裝時都會更改UID。 – casolorz

+0

@casolorz,和你一樣,我也面臨這個問題。我不想用登錄來打擾用戶。我做了一些研究來跟蹤用戶的安裝2周,閱讀了很多文章,我發現沒有任何幫助。例如'ANDROID_ID',它並不是真正獨特的。我認爲這是在整個安裝過程中跟蹤用戶的唯一方式,即通過登錄。我建議您將登錄類型設置爲GMail,以便在登錄對話框出現時,不需要密碼。我們的開發者沒有權限獲取用戶使用的Gmail安裝我們的應用程序。所以我認爲這是唯一的方法。 –

+0

這篇文章聲稱'ANDROID_ID'只在2.2下破解http://stackoverflow.com/a/5626213/704836 – casolorz