Моя учетная запись содержит метод входа в Google, и, когда пользователь входит в систему, некоторая информация сохраняется в базе данных в режиме реального времени.Я также пытаюсь сохранить изображение профиля, связанное с учетной записью Google, в хранилище Firebase, но при этом ничего не загружается.
mAuth.signInWithCredential(credential)
.addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull final Task<AuthResult> task) {
if (task.isSuccessful()) {
// Sign in success, update UI with the signed-in user's information
Log.d(TAG, "signInWithCredential:success");
FirebaseUser user = mAuth.getCurrentUser();
mStorageRef = FirebaseStorage.getInstance().getReference();
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference(user.getUid());
myRef.child("artist_name").setValue("Artist Name");
myRef.child("hometown").setValue("Hometown");
StorageReference ref = mStorageRef.child("image/" + user.getUid());
ref.putFile(acct.getPhotoUrl()).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
// Nothing happens
Toast.makeText(LoginActivity.this, "success", Toast.LENGTH_SHORT).show();
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Toast.makeText(LoginActivity.this, "failed", Toast.LENGTH_SHORT).show();
}
});
updateUI(user);
} else {
// If sign in fails, display a message to the user.
Log.w(TAG, "signInWithCredential:failure", task.getException());
Toast.makeText(LoginActivity.this, "Something went wrong...", Toast.LENGTH_SHORT).show();
updateUI(null);
}
// ...
}
});