ईमेल कार्रवाइयों में पास होने की स्थिति

पासवर्ड के लिए ईमेल कार्रवाइयां भेजते समय आप जारी रखें यूआरएल के ज़रिए स्थिति पास कर सकते हैं उपयोगकर्ता के ईमेल को रीसेट या पुष्टि करता है. इससे उपयोगकर्ता को ये काम करने की सुविधा मिलती है कार्रवाई पूरी होने के बाद ऐप्लिकेशन पर वापस जाएं. इसके अतिरिक्त, आप क्या ईमेल कार्रवाई लिंक को सीधे किसी मोबाइल ऐप्लिकेशन से हैंडल करना है या नहीं तो यह वेब पेज के बजाय इंस्टॉल हो जाता है.

इन सामान्य स्थितियों में यह बहुत मददगार साबित हो सकता है:

  • ऐसा उपयोगकर्ता जो फ़िलहाल लॉग इन नहीं है, शायद ऐसे कॉन्टेंट को ऐक्सेस करने की कोशिश कर रहा हो जो उपयोगकर्ता को साइन इन करना ज़रूरी है. हालांकि, हो सकता है कि उपयोगकर्ता भूल गया हो इससे पासवर्ड रीसेट करने का फ़्लो ट्रिगर होता है. आखिर में प्रोसेस पूरी होने के बाद, उपयोगकर्ता ऐप्लिकेशन के उस सेक्शन पर वापस जाने की उम्मीद करता है जो वह को ऐक्सेस करने की कोशिश कर रहा है.

  • ऐसा हो सकता है कि कोई ऐप्लिकेशन सिर्फ़ पुष्टि किए गए खातों को ऐक्सेस करने की सुविधा दे. इसके लिए उदाहरण के लिए, किसी न्यूज़लेटर के लिए यह ज़रूरी हो सकता है कि उपयोगकर्ता को सदस्यता लें. उपयोगकर्ता को ईमेल पते की पुष्टि की प्रक्रिया से गुज़रना होगा और सदस्यता पूरी करने के लिए, ऐप्लिकेशन पर वापस जाएं.

  • अन्य मामलों में, हो सकता है कि उपयोगकर्ता ने अपने मोबाइल डिवाइस से फ़्लो शुरू किया हो साथ ही, पुष्टि करने के बाद उपयोगकर्ताओं के व्यवहार में बदलाव करने के लिए, ब्राउज़र खोलें.

एक जारी यूआरएल के ज़रिए स्थिति पास कर पाने की क्षमता एक बेहतरीन सुविधा है, जो Firebase पुष्टि की सुविधा से उपयोगकर्ता अनुभव को बेहतर बनाया जा सकता है.

पास होने की स्थिति/ईमेल पर की जाने वाली कार्रवाइयों में यूआरएल का इस्तेमाल जारी रखें

एक जारी यूआरएल को सुरक्षित रूप से पास करने के लिए, यूआरएल के डोमेन को उन्हें Firebase कंसोल में अनुमति दी जाएगी. ऐसा करने के लिए, पुष्टि करें सेक्शन में इस डोमेन को साइन-इन करने का तरीका टैब के तहत, अनुमति वाले डोमेन की सूची पहले से ही मौजूद न हो.

ActionCodeSettings पासवर्ड रीसेट ईमेल भेजते समय या पुष्टि करने के लिए लिंक. इसे संबंधित ActionCodeSettings.Builder से बनाया जा सकता है क्लास जिसमें ये तरीके शामिल हैं:

तरीका ब्यौरा
setUrl(String url)

ऐसा लिंक (राज्य/जारी रखें यूआरएल) सेट करता है, जिसका अलग मतलब होता है अलग-अलग कॉन्टेक्स्ट में:

  • जब लिंक को वेब ऐक्शन विजेट में हैंडल किया जाता है, तो यह continueUrl क्वेरी पैरामीटर में मौजूद लिंक पर क्लिक करें.
  • जब लिंक को सीधे ऐप्लिकेशन में हैंडल किया जाता है, तो यह इसके डीप लिंक में continueUrl क्वेरी पैरामीटर है डाइनैमिक लिंक.
setIOSBundleId(String iOSBundleId) iOS बंडल आईडी सेट करता है. यह किसी iOS ऐप्लिकेशन में लिंक को खोलने की कोशिश करेगा, अगर तो यह इंस्टॉल हो जाता है. iOS ऐप्लिकेशन को Console में रजिस्टर होना चाहिए.
setAndroidPackageName(String androidPackageName, boolean installIfNotAvailable, String minimumVersion) Android पैकेज का नाम सेट करता है. इससे लिंक को किसी Android ऐप्लिकेशन को इंस्टॉल करें. अगर installIfNotAvailable को true पर सेट किया गया है, तो यह अगर डिवाइस पर Android ऐप्लिकेशन काम करता है, तो उसे इंस्टॉल किया जाए या नहीं पहले से इंस्टॉल नहीं है. अगर minVersion तय किया गया है, और ऐप्लिकेशन का पुराना वर्शन इंस्टॉल है, तो उपयोगकर्ता को ऐप्लिकेशन अपग्रेड करने के लिए Play Store पर जाएं. Android ऐप्लिकेशन को इसमें रजिस्टर किया जाना चाहिए कर सकते हैं.
setHandleCodeInApp(boolean status) ईमेल कार्रवाई के लिंक को मोबाइल ऐप्लिकेशन या वेब में खोला जाएगा या नहीं लिंक को हटाएं. डिफ़ॉल्ट रूप से, यह वैल्यू 'गलत' पर सेट होती है. अगर नीति को 'सही है' पर सेट किया जाता है, तो ऐक्शन कोड का लिंक को यूनिवर्सल लिंक या Android ऐप्लिकेशन लिंक के तौर पर भेजा जाएगा और यह खोला जाएगा ऐप्लिकेशन से इंस्टॉल किया जाएगा. गलत केस में, कोड को पहले वेब विजेट और फिर जारी रखने पर, ऐप्लिकेशन पर रीडायरेक्ट किया जाएगा इंस्टॉल किया गया.
setDynamicLinkDomain(String dynamicLinkDomain) यह मौजूदा लिंक के साथ इस्तेमाल करने के लिए, डाइनैमिक लिंक डोमेन (या सबडोमेन) को सेट करता है अगर इसे Firebase डाइनैमिक लिंक का इस्तेमाल करके खोला जाए. एक से ज़्यादा डाइनैमिक के तौर पर लिंक डोमेन को प्रति प्रोजेक्ट के हिसाब से कॉन्फ़िगर किया जा सकता है, इसलिए यह फ़ील्ड साफ़ तौर पर किसी एक को चुनने की क्षमता. अगर कोई जानकारी नहीं दी गई है, तो पहला डोमेन डिफ़ॉल्ट रूप से इस्तेमाल किया जाता है.

नीचे दिए गए उदाहरण में, ईमेल पते की पुष्टि करने वाले लिंक को भेजने का तरीका बताया गया है एक मोबाइल ऐप्लिकेशन में पहले Firebase डायनामिक लिंक के रूप में खुलेगा (iOS ऐप्लिकेशन com.example.ios या Android ऐप्लिकेशन com.example.android). कॉन्टेंट बनाने डीप लिंक में, यूआरएल के पेलोड को जारी रखने का विकल्प होगा https://www.example.com/?email=user@example.com.

Kotlin+KTX

val auth = Firebase.auth
val user = auth.currentUser!!

val url = "http://www.example.com/verify?uid=" + user.uid
val actionCodeSettings = ActionCodeSettings.newBuilder()
    .setUrl(url)
    .setIOSBundleId("com.example.ios")
    // The default for this is populated with the current android package name.
    .setAndroidPackageName("com.example.android", false, null)
    .build()

user.sendEmailVerification(actionCodeSettings)
    .addOnCompleteListener { task ->
        if (task.isSuccessful) {
            Log.d(TAG, "Email sent.")
        }
    }

Java

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

String url = "http://www.example.com/verify?uid=" + user.getUid();
ActionCodeSettings actionCodeSettings = ActionCodeSettings.newBuilder()
        .setUrl(url)
        .setIOSBundleId("com.example.ios")
        // The default for this is populated with the current android package name.
        .setAndroidPackageName("com.example.android", false, null)
        .build();

user.sendEmailVerification(actionCodeSettings)
        .addOnCompleteListener(new OnCompleteListener<Void>() {
            @Override
            public void onComplete(@NonNull Task<Void> task) {
                if (task.isSuccessful()) {
                    Log.d(TAG, "Email sent.");
                }
            }
        });

Firebase पुष्टि, Firebase डाइनैमिक लिंक का इस्तेमाल तब करता है, जब लिंक शामिल होता है जो मोबाइल ऐप्लिकेशन में खोला जाता है. इस सुविधा का इस्तेमाल करने के लिए सुविधा के लिए, डाइनैमिक लिंक को Firebase कंसोल में कॉन्फ़िगर किया जाना चाहिए.

  1. Firebase डाइनैमिक लिंक चालू करें:

    1. Firebase कंसोल में, Dynamic Links सेक्शन खोलें.
    2. अगर आपने अभी तक Dynamic Links की शर्तें स्वीकार नहीं की हैं और Dynamic Links बनाया है, तो डोमेन है, तो अभी ऐसा करें.

      अगर आपने पहले ही Dynamic Links डोमेन बना लिया है, तो उसे नोट करें. Dynamic Links डोमेन आम तौर पर नीचे दिए गए उदाहरण जैसा दिखता है:

      example.page.link

      आपको इस वैल्यू की ज़रूरत तब होगी, जब Apple या Android ऐप्लिकेशन को आने वाले लिंक को इंटरसेप्ट करें.

  2. Android ऐप्लिकेशन कॉन्फ़िगर करना:

    1. अगर आप अपने Android ऐप्लिकेशन के इन लिंक को मैनेज करना चाहते हैं, तो Firebase कंसोल में, Android पैकेज का नाम डालना ज़रूरी है प्रोजेक्ट सेटिंग. इसके अलावा, ऐप्लिकेशन के SHA-1 और SHA-256 सर्टिफ़िकेट देना ज़रूरी है.
    2. आपको डीप लिंक के लिए इंटेंट फ़िल्टर को भी कॉन्फ़िगर करना होगा आपकी AndroidManifest.xml फ़ाइल में है.
    3. इस बारे में ज़्यादा जानकारी के लिए, इसे देखें Android डाइनैमिक लिंक से जुड़े निर्देश मिल रहे हैं.
  3. iOS ऐप्लिकेशन कॉन्फ़िगर करना:

    1. अगर आप अपने iOS ऐप्लिकेशन से इन लिंक को मैनेज करना चाहते हैं, तो 'Firebase कंसोल' में iOS बंडल आईडी बताना ज़रूरी है प्रोजेक्ट सेटिंग. साथ ही, App Store का आईडी और Apple Developer, टीम आईडी को भी बताना ज़रूरी है.
    2. आपको FDL यूनिवर्सल लिंक डोमेन को आपके ऐप्लिकेशन की क्षमताओं में असोसिएटेड डोमेन.
    3. अगर आपको अपना ऐप्लिकेशन iOS 8 और इससे पहले के वर्शन पर उपलब्ध कराना है, तो इनकमिंग के लिए आपको कस्टम स्कीम के रूप में अपना iOS बंडल आईडी सेट करना होगा यूआरएल.
    4. इस बारे में ज़्यादा जानकारी के लिए, इसे देखें iOS डाइनैमिक लिंक से जुड़े निर्देश पाना.

किसी वेब ऐप्लिकेशन में ईमेल कार्रवाइयों को मैनेज करना

आपके पास यह बताने का विकल्प है कि आपको वेब से, ऐक्शन कोड का लिंक मैनेज करना है या नहीं पहले किसी अन्य वेब पेज या मोबाइल ऐप्लिकेशन पर रीडायरेक्ट करें पूरा होने के बाद, बशर्ते मोबाइल ऐप्लिकेशन उपलब्ध हो. ऐसा करने के लिए, इस ऐप्लिकेशन में setHandleCodeInApp(false) को कॉल किया जाता है: ActionCodeSettings.Builder ऑब्जेक्ट है. हालांकि, iOS बंडल आईडी या Android पैकेज का नाम डालना ज़रूरी नहीं है. हालांकि, इन्हें देने से उपयोगकर्ता को ईमेल के ऐक्शन कोड के पूरा होने पर, तय किए गए ऐप्लिकेशन पर वापस रीडायरेक्ट करने के लिए.

यहां जिस वेब यूआरएल का इस्तेमाल किया जाता है उसे ईमेल ऐक्शन टेंप्लेट में कॉन्फ़िगर किया जाता है सेक्शन में जाएं. सभी प्रोजेक्ट के लिए डिफ़ॉल्ट तौर पर सेट किया जाता है. इससे संदर्भ लें ईमेल हैंडलर को पसंद के मुताबिक बनाना, ताकि आप इनके बारे में ज़्यादा जान सकें ईमेल कार्रवाई हैंडलर को पसंद के मुताबिक कैसे बनाया जाए.

इस मामले में, continueUrl क्वेरी पैरामीटर में मौजूद लिंक FDL लिंक, जिसका पेलोड ActionCodeSettings में बताया गया URL है ऑब्जेक्ट है. हालांकि, आपके पास अपने ऐप्लिकेशन से आने वाले लिंक को इंटरसेप्ट और मैनेज करने का विकल्प है हमारा सुझाव है कि आप एफ़डीएल क्लाइंट लाइब्रेरी का इस्तेमाल करके, अतिरिक्त डिपेंडेंसी के बिना किसी अतिरिक्त डिपेंडेंसी का इस्तेमाल करें अपने लिए डीप लिंक को पार्स कर सकते हैं.

ईमेल की पुष्टि जैसी ईमेल कार्रवाइयों को मैनेज करते समय, oobCode क्वेरी पैरामीटर को डीप लिंक से पार्स करके लागू करना ज़रूरी है applyActionCode के ज़रिए बदलाव लागू करने के लिए. उदाहरण के लिए, पुष्टि के लिए ईमेल.

मोबाइल ऐप्लिकेशन में ईमेल कार्रवाइयां मैनेज करना

आप यह तय कर सकते हैं कि आप अपने मोबाइल ऐप्लिकेशन को प्राथमिकता दें, बशर्ते वह इंस्टॉल हो. Android ऐप्लिकेशन से, आप installIfNotAvailable बूलियन के ज़रिए यह भी बता सकते हैं कि ऐप्लिकेशन को इंस्टॉल करना तब ज़रूरी होता है, जब डिवाइस इस पर काम करता हो और यह पहले से इंस्टॉल न हो. अगर लिंक पर किसी ऐसे डिवाइस से क्लिक किया गया है जो मोबाइल का समर्थन नहीं करता तो यह किसी वेब पेज से खोला जाता है. ऐसा करने के लिए, इस ऐप्लिकेशन में setHandleCodeInApp(true) को कॉल किया जाता है: ActionCodeSettings.Builder ऑब्जेक्ट है. मोबाइल ऐप्लिकेशन के Android पैकेज का नाम या iOS बंडल आईडी भी बताना होगा.

जब कोई मोबाइल ऐप्लिकेशन उपलब्ध नहीं होता है, तो यहां इस्तेमाल किया जाने वाला फ़ॉलबैक वेब यूआरएल ही वह वेब यूआरएल है कॉन्फ़िगर किया गया है. डिफ़ॉल्ट सेटिंग का प्रावधान किया गया है सभी प्रोजेक्ट के लिए. इससे संदर्भ लें ईमेल हैंडलर को पसंद के मुताबिक बनाना, ताकि आप इनके बारे में ज़्यादा जान सकें ईमेल कार्रवाई हैंडलर को पसंद के मुताबिक कैसे बनाया जाए.

इस मामले में, उपयोगकर्ता को भेजा गया मोबाइल ऐप्लिकेशन लिंक एक एफ़डीएल लिंक होगा, जिसका पेलोड, ऐक्शन कोड यूआरएल होता है, जिसे कंसोल में क्वेरी के साथ कॉन्फ़िगर किया जाता है पैरामीटर oobCode, mode, apiKey, और continueUrl. बाद वाला मूल URL की जानकारी ActionCodeSettings ऑब्जेक्ट में दी गई है. हालांकि, आप यह कर सकते हैं बिना किसी अतिरिक्त यूआरएल के, अपने ऐप्लिकेशन से आने वाले लिंक को रोकें और मैनेज करें तो हम एफ़डीएल क्लाइंट लाइब्रेरी का इस्तेमाल करने का सुझाव देते हैं, ताकि आपको. कार्रवाई कोड सीधे इससे मिलते-जुलते मोबाइल ऐप्लिकेशन से लागू किया जा सकता है उसमें बताए गए वेब फ़्लो से उसे कैसे मैनेज किया जाता है ईमेल हैंडलर को पसंद के मुताबिक बनाना सेक्शन में देखें.

ईमेल की पुष्टि जैसी ईमेल कार्रवाइयों को मैनेज करते समय, oobCode क्वेरी पैरामीटर को डीप लिंक से पार्स करके लागू करना ज़रूरी है applyActionCode के ज़रिए बदलाव लागू करने के लिए. उदाहरण के लिए, पुष्टि के लिए ईमेल.