2016-06-12 390 views
0

我正在嘗試爲通過電子郵件/密碼使用Firebase身份驗證的android編寫應用。它已啓用。然而,教程和Github中的代碼示例顯示如下:Firebase身份驗證API電子郵件/密碼Android

private FirebaseAuth mAuth;

dependencies { 
compile fileTree(dir: 'libs', include: ['*.jar']) 
testCompile 'junit:junit:4.12' 

compile 'com.android.support:appcompat-v7:23.4.0' 
compile 'com.android.support:cardview-v7:23.4.0' 
compile 'com.android.support:design:23.4.0' 
compile 'com.google.firebase:firebase-core:9.0.2' 



} 


apply plugin: 'com.google.gms.google-services' 

不過,我得到一個錯誤,如果 「FirebaseAuth」 不存在。然而最新的文檔卻另有說明。

Github sample code

enter image description here

任何幫助將不勝感激。

回答

2

com.google.firebase:firebase-core:9.0.2'依賴關係替換爲com.google.firebase:firebase-auth:9.0.2依賴關係。所以:的

compile 'com.google.firebase:firebase-auth:9.0.2'

代替

compile 'com.google.firebase:firebase-core:9.0.2'下你的依賴。

我沒有找到在核心依賴性FirebaseAuth類,但我發現它在AUTH依賴。此外,如果您簽出their依存關係列表,則它們不會添加核心依賴關係,它們會添加驗證碼依賴關係。

+0

他們都不是一回事嗎?我對依賴關係有點困惑。使用Firebase SDK 3.0 –

+1

不,它們不一樣。依賴關係只是外部庫,供您使用,無非就是如此。至於他們爲什麼有不止一個,那麼如果他們將所有不同類型打包成一個,那將是巨大的。衡量依賴關係覆蓋範圍的一種方法是通過方法計數,方法計數越高,啓動成本和APK的大小就越高。所以他們保持分開。 –

+0

哇。我很抱歉。我錯過了認證/核心差異。謝謝。我會試試,這很可能會解決我的問題。我會回來的,如果有效,我會接受你的回答。 –

0

根據firebase網頁中的文檔,您應該使用Firebase中的網址創建Firebase對象,然後從中創建帶有密碼的用戶名或將其登錄。您展示的代碼使用此FirebaseAuth。

下面是創建一個新的用戶代碼:

Firebase ref = new Firebase("https://<YOUR-FIREBASE-APP>.firebaseio.com"); 
ref.createUser("[email protected]", "correcthorsebatterystaple", new Firebase.ValueResultHandler<Map<String, Object>>() { 
    @Override 
    public void onSuccess(Map<String, Object> result) { 
     System.out.println("Successfully created user account with uid: " + result.get("uid")); 
    } 
    @Override 
    public void onError(FirebaseError firebaseError) { 
     // there was an error 
    } 
}); 

這裏是登錄了他的代碼:

Firebase ref = new Firebase("https://<YOUR-FIREBASE-APP>.firebaseio.com"); 
ref.authWithPassword("[email protected]", "correcthorsebatterystaple", new Firebase.AuthResultHandler() { 
    @Override 
    public void onAuthenticated(AuthData authData) { 
     System.out.println("User ID: " + authData.getUid() + ", Provider: " + authData.getProvider()); 
    } 
    @Override 
    public void onAuthenticationError(FirebaseError firebaseError) { 
     // there was an error 
    } 
}); 

得到所有這些信息從快速入門指南這裏:https://www.firebase.com/docs/android/guide/login/password.html#section-logging-in

希望它有幫助。

+0

這個信息真的很有幫助謝謝。 –

相關問題