2016-06-30 12 views
5

इसलिए, मैंने देव कंसोल में ईमेल/पासवर्ड सक्षम किया है और सब कुछ ठीक काम कर रहा है। सिवाय इसके कि मुझे इनपुट किए गए ईमेल पर एक पुष्टिकरण ईमेल प्राप्त होना चाहिए, लेकिन मुझे यह नहीं मिल रहा है। मैंने सोचा कि यह स्वचालित रूप से करता है, लेकिन स्पष्ट रूप से यह नहीं करता है। साइन अप के लिएसाइनअप पर फायरबेस ईमेल पुष्टिकरण कैसे भेजें?


विधि:

public void signUp(View v) { 
    String email = emailET.getText().toString(); 
    String password = passwordET.getText().toString(); 
    mAuth.createUserWithEmailAndPassword(email, password) 
      .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() { 
       @Override 
       public void onComplete(@NonNull Task<AuthResult> task) { 
        Log.d("AD", "createUserWithEmail: " + task.isSuccessful() + task.getException()); 
        if (!task.isSuccessful()) { 
         createDialogSignUpError(
           getApplicationContext().getResources().getString(R.string.signUpFailedET), 
           getApplicationContext().getResources().getString(R.string.signUpFailedEM), 
           getApplicationContext().getResources().getString(android.R.string.ok)); 
         Toast.makeText(SignUp.this, task.getException().toString(), Toast.LENGTH_LONG).show(); 
        } else if (task.isSuccessful()) { 
         Toast.makeText(SignUp.this, "Registration Successful.", Toast.LENGTH_SHORT).show(); 
        } 
       } 
      }); 

} 

यह भेजने किया जाना चाहिए, लेकिन दुर्भाग्य से यह नहीं है। मैंने SO पर कहीं पढ़ा है कि आपको ईमेल भेजने के लिए कोई विधि या कुछ जोड़ने की आवश्यकता है, और यह दस्तावेज़ों में गायब है, लेकिन वह जावा नहीं था।


संपादित

here के अनुसार, यह केवल iOS और वेब में समर्थित है। जो आश्चर्यजनक है, क्योंकि सब के बाद, एंड्रॉइड Google है, और Google फ़ायरबेस है। क्या कस्टम कस्टम ईमेल बनाने के साथ भी यह संभव है?


संपादित करें 2: अधिक स्पष्ट रूप से, एंड्रॉयड एक ईमेल इस तरह सी # करता है। यदि इसके लिए कोई एपीआई नहीं है तो यह सबसे अच्छा समाधान होगा।

+0

मुझे लगता है कि तुम ठीक कह रहे, पढ़ने [डॉक्स] (https://firebase.google.com/docs/auth/custom-email-handler) इस ios में ही उपलब्ध है और तेज। यहां कुछ चर्चाएं भी हैं [http://stackoverflow.com/questions/17723195/is-there-any-way-to-do-email-confirmation-for-firebase-user-creation-and-or-pass) यदि आप कुछ कामकाज देखना चाहते हैं। – adolfosrs

+0

नहीं, यह डुप्लिकेट नहीं है, अगर आपने पढ़ा नहीं है, तो मैंने कहा कि मैंने ऐसे प्रश्न देखे हैं और मेरा बिल्कुल अलग है। –

+0

क्या आपने इसे पढ़ा है? http://stackoverflow.com/questions/17723195/is-here-any-way-to-do-email-confirmation-for-firebase-user-creation-and-or-pass – johni

उत्तर

1

अब आप फायरबेस क्लाउड फ़ंक्शंस का उपयोग करके अपना ईमेल प्रेषक रोल करके ईमेल कवरेज में किसी भी फ़ायरबेस गैप्स को प्लग कर सकते हैं। एक उदाहरण here है। निस्संदेह इसका मतलब केवल अंतर्निहित विकल्पों की तरह कॉन्फ़िगर करने से अधिक काम है, लेकिन कम से कम इसका मतलब है कि हम जो कुछ भी करने की ज़रूरत है हम कर सकते हैं। :)

1

अब updated firebase documentation

यहाँ कैसे उपयोगकर्ता है कि आपके मामले में लॉग-इन करने तो भेज उसे खाता बनाने और उपयोगकर्ता दे के बाद है पर एक सत्यापन मेल भेजने के लिए है/उसे एक अधिसूचना के अनुसार कि उसे खाता सत्यापित करना है और फिर अगला लॉगिन तब तक अवरुद्ध है जब तक उसने सत्यापित नहीं किया है (मुझे लगता है कि उपयोगकर्ता को अपना ईमेल पहले खोलने के लिए मजबूर होना बेहतर है)

उपयोगकर्ता को एक भेजें सत्यापन ईमेल

आप एक पता सत्यापन भेज सकते हैं sendEmailVerification विधि वाले उपयोगकर्ता को ईमेल करें। उदाहरण के लिए:

FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser(); 

user.sendEmailVerification() 
     .addOnCompleteListener(new OnCompleteListener<Void>() { 
      @Override 
      public void onComplete(@NonNull Task<Void> task) { 
       if (task.isSuccessful()) { 
        Log.d(TAG, "Email sent."); 
       } 
      } 
     }); 
संबंधित मुद्दे