वैकल्पिक रूप से, आप कोड की निम्न तीन पंक्तियों लिख कर उपयोगकर्ता के Firebase प्रदर्शन नाम सेट कर सकते हैं:
FirebaseUser user = mAuth.getCurrentUser();
UserProfileChangeRequest profileUpdates = new UserProfileChangeRequest.Builder()
.setDisplayName(mName).build();
user.updateProfile(profileUpdates);
ऐसा करके, अपने मूल कोड इस तरह दिखना चाहिए:
mAuth.createUserWithEmailAndPassword(email, password).addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if(task.isSuccessful()){
// Sign in success
FirebaseUser user = mAuth.getCurrentUser();
UserProfileChangeRequest profileUpdates = new UserProfileChangeRequest.Builder()
.setDisplayName(mName).build();
user.updateProfile(profileUpdates);
}
});
क्या ऐसा इसलिए होता है कि जब उपयोगकर्ता का खाता ईमेल और पासवर्ड प्रमाणीकरण का उपयोग करके सफलतापूर्वक बनाया गया है, तो यह उपयोगकर्ता में साइन-इन करेगा। इस बिंदु पर, आप वर्तमान फायरबेस उपयोगकर्ता ऑब्जेक्ट प्राप्त कर सकते हैं और अपनी डिस्प्ले नाम प्रॉपर्टी को जो भी स्ट्रिंग चाहते हैं उसे सेट कर सकते हैं।
सत्यापन ईमेल में उपयोगकर्ता के प्रोफ़ाइल नाम का परीक्षण करने के लिए यह बहुत अच्छा है।
नोट: एक Firebase उपयोगकर्ता वस्तु बुनियादी गुण-एक अद्वितीय ID, एक प्राथमिक ईमेल पता, एक नाम और एक तस्वीर यूआरएल संग्रहीत परियोजना के उपयोगकर्ता डेटाबेस में की एक निश्चित सेट, उपयोगकर्ता द्वारा अद्यतन किया जा सकता है । आप फायरबेस उपयोगकर्ता ऑब्जेक्ट में अन्य गुणों को सीधे नहीं जोड़ सकते हैं; इसके बजाय, आप अपने फ़ायरबेस रीयलटाइम डेटाबेस में अतिरिक्त गुणों को स्टोर कर सकते हैं। (Firebase User Object Properties Doc)
स्रोत
2017-08-19 21:15:12
इसकी समस्या को पोस्ट करने से पहले [MCVE] (http://stackoverflow.com/help/mcve) बनाने की अनुशंसा की गई। – devprashant
@devprashant मैं –