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

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

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

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

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

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

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

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

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

भेजते समय firebase.auth.ActionCodeSettings इंस्टेंस देना ज़रूरी है पासवर्ड रीसेट करने के लिए लिंक या पुष्टि करने के लिए ईमेल. यह इंटरफ़ेस ये पैरामीटर:

पैरामीटर टाइप ब्यौरा
url स्ट्रिंग

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

  • जब लिंक को वेब ऐक्शन विजेट में हैंडल किया जाता है, तो यह continueUrl क्वेरी पैरामीटर में मौजूद लिंक पर क्लिक करें.
  • जब लिंक को सीधे ऐप्लिकेशन में हैंडल किया जाता है, तो यह इसके डीप लिंक में continueUrl क्वेरी पैरामीटर है डाइनैमिक लिंक.
iOS ({bundleId: string}|undefined) iOS बंडल आईडी सेट करता है. यह किसी iOS ऐप्लिकेशन में लिंक को खोलने की कोशिश करेगा, अगर तो यह इंस्टॉल हो जाता है. यह ज़रूरी है कि iOS ऐप्लिकेशन, Console में रजिस्टर हो.
android ({packageName: स्ट्रिंग, installApp:बूलियन|undefined, न्यूनतम वर्शन: स्ट्रिंग|undefined}|undefined) Android पैकेज का नाम सेट करता है. इससे लिंक को किसी Android ऐप्लिकेशन, अगर इसे इंस्टॉल किया गया है. अगर installApp पास हो जाता है, तो तय करें कि अगर डिवाइस पर Android ऐप्लिकेशन काम करता है, तो उसे इंस्टॉल करना है या नहीं. यह ऐप्लिकेशन पहले से इंस्टॉल नहीं है. अगर इस फ़ील्ड को packageName, तो एक गड़बड़ी दिखती है जो बताती है कि इस फ़ील्ड के साथ packageName दिया जाना चाहिए. अगर minimumVersion बताया गया है और ऐप्लिकेशन इंस्टॉल है, तो उपयोगकर्ता को ऐप्लिकेशन अपग्रेड करने के लिए Play Store पर ले जाया जाता है. यह ज़रूरी है कि Android ऐप्लिकेशन, Console में रजिस्टर हो.
handleCodeInApp (बूलियन|अनिर्धारित) ईमेल कार्रवाई के लिंक को मोबाइल ऐप्लिकेशन या वेब में खोला जाएगा या नहीं लिंक को हटाएं. डिफ़ॉल्ट रूप से, यह वैल्यू 'गलत' पर सेट होती है. अगर नीति को 'सही है' पर सेट किया जाता है, तो ऐक्शन कोड का लिंक को यूनिवर्सल लिंक या Android ऐप्लिकेशन लिंक के तौर पर भेजा जाएगा और यह खोला जाएगा ऐप्लिकेशन से इंस्टॉल किया जाएगा. गलत केस में, कोड को पहले वेब विजेट और फिर जारी रखने पर, ऐप्लिकेशन पर रीडायरेक्ट किया जाएगा इंस्टॉल किया गया.
dynamicLinkDomain (स्ट्रिंग|अनिर्धारित) यह मौजूदा लिंक के साथ इस्तेमाल करने के लिए, डाइनैमिक लिंक डोमेन (या सबडोमेन) को सेट करता है अगर इसे Firebase डाइनैमिक लिंक का इस्तेमाल करके खोला जाए. एक से ज़्यादा डाइनैमिक के तौर पर लिंक डोमेन को प्रति प्रोजेक्ट के हिसाब से कॉन्फ़िगर किया जा सकता है, इसलिए यह फ़ील्ड साफ़ तौर पर किसी एक को चुनने की क्षमता. अगर कोई जानकारी नहीं दी गई है, तो पहला डोमेन डिफ़ॉल्ट रूप से इस्तेमाल किया जाता है.

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

var actionCodeSettings = {
  url: 'https://www.example.com/?email=' + firebase.auth().currentUser.email,
  iOS: {
    bundleId: 'com.example.ios'
  },
  android: {
    packageName: 'com.example.android',
    installApp: true,
    minimumVersion: '12'
  },
  handleCodeInApp: true,
  // When multiple custom dynamic link domains are defined, specify which
  // one to use.
  dynamicLinkDomain: "example.page.link"
};
firebase.auth().currentUser.sendEmailVerification(actionCodeSettings)
  .then(function() {
    // Verification email sent.
  })
  .catch(function(error) {
    // Error occurred. Inspect error.code.
  });

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 डाइनैमिक लिंक से जुड़े निर्देश पाना.

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

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

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

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

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

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

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

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

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

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