Catch up on everthing we announced at this year's Firebase Summit. Learn more

ईमेल क्रियाओं में राज्य पास करना

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

यह निम्नलिखित सामान्य परिदृश्यों में अत्यंत उपयोगी हो सकता है:

  • एक उपयोगकर्ता, जो वर्तमान में लॉग इन नहीं है, उस सामग्री तक पहुँचने का प्रयास कर सकता है जिसके लिए उपयोगकर्ता को साइन इन करने की आवश्यकता होती है। हालाँकि, उपयोगकर्ता अपना पासवर्ड भूल गया होगा और इसलिए रीसेट पासवर्ड प्रवाह को ट्रिगर कर सकता है। प्रवाह के अंत में, उपयोगकर्ता ऐप के उस अनुभाग में वापस जाने की अपेक्षा करता है जिसे वे एक्सेस करने का प्रयास कर रहे थे।

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

  • अन्य मामलों में, हो सकता है कि उपयोगकर्ता ने अपने मोबाइल डिवाइस से प्रवाह शुरू कर दिया हो और सत्यापन के बाद ब्राउज़र के बजाय अपने मोबाइल ऐप पर वापस लौटने की अपेक्षा करता हो।

एक जारी यूआरएल के माध्यम से राज्य को पारित करने की क्षमता एक शक्तिशाली विशेषता है जो फायरबेस ऑथ प्रदान करती है और जो उपयोगकर्ता अनुभव को महत्वपूर्ण रूप से बढ़ा सकती है।

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

आदेश सुरक्षित रूप से पारित करने के लिए एक यूआरएल रहें, कृपया URL के लिए डोमेन एक अधिकृत डोमेन के रूप में जोड़ने की आवश्यकता होगी Firebase कंसोल । इस के तहत साइन-इन विधि टैब अधिकृत डोमेन की सूची को यह डोमेन जोड़कर प्रमाणीकरण अनुभाग में किया जाता है अगर यह पहले से ही वहाँ नहीं है।

एक firebase.auth.ActionCodeSettings उदाहरण है जब एक पासवर्ड रीसेट ईमेल या सत्यापन ईमेल भेजते समय प्रदान की जानी चाहिए। यह इंटरफ़ेस निम्नलिखित पैरामीटर लेता है:

पैरामीटर प्रकार विवरण
url डोरी

लिंक सेट करता है (राज्य/जारी यूआरएल) जिसका अलग-अलग संदर्भों में अलग-अलग अर्थ हैं:

  • जब लिंक वेब कार्रवाई विजेट में नियंत्रित किया जाता है, इस में डीप लिंक है continueUrl क्वेरी पैरामीटर।
  • जब लिंक को सीधे ऐप्स में नियंत्रित किया जाता है, यह है continueUrl गतिशील लिंक के गहरे लिंक में क्वेरी पैरामीटर।
iOS ({बंडल आईडी: स्ट्रिंग}|अपरिभाषित) आईओएस बंडल आईडी सेट करता है। यदि यह इंस्टॉल है तो यह आईओएस ऐप में लिंक खोलने का प्रयास करेगा। आईओएस ऐप को कंसोल में पंजीकृत होना चाहिए।
android ({पैकेजनाम: स्ट्रिंग, इंस्टॉलएप:बूलियन|अपरिभाषित, न्यूनतम संस्करण: स्ट्रिंग|अपरिभाषित}|अपरिभाषित) Android पैकेज का नाम सेट करता है। यदि यह स्थापित है तो यह एंड्रॉइड ऐप में लिंक को खोलने का प्रयास करेगा। यदि installApp पारित हो जाता है, यह डिवाइस यह समर्थन करता है और एप्लिकेशन पहले से ही स्थापित नहीं है, तो Android एप्लिकेशन स्थापित करने के लिए है कि क्या निर्दिष्ट करता है। इस क्षेत्र को एक के बिना प्रदान की जाती है packageName , एक त्रुटि समझा कि फेंक दिया जाता है packageName इस क्षेत्र के साथ संयोजन के रूप में प्रदान किया जाना चाहिए। यदि minimumVersion निर्दिष्ट किया जाता है, और एप्लिकेशन का पुराना संस्करण स्थापित है, तो उपयोगकर्ता एप्लिकेशन को उन्नत करने के प्ले स्टोर करने के लिए लिया जाता है। Android ऐप को कंसोल में पंजीकृत होना चाहिए।
handleCodeInApp (बूलियन|अपरिभाषित) ईमेल एक्शन लिंक को मोबाइल ऐप में खोला जाएगा या पहले वेब लिंक में। डिफॉल्ट गलत है। जब सही पर सेट किया जाता है, तो एक्शन कोड लिंक को यूनिवर्सल लिंक या एंड्रॉइड ऐप लिंक के रूप में भेजा जाएगा और इंस्टॉल होने पर ऐप द्वारा खोला जाएगा। झूठे मामले में, कोड पहले वेब विजेट पर भेजा जाएगा और फिर जारी रखने पर इंस्टॉल होने पर ऐप पर रीडायरेक्ट कर दिया जाएगा।
dynamicLinkDomain (स्ट्रिंग | अपरिभाषित) डायनामिक लिंक डोमेन (या सबडोमेन) को वर्तमान लिंक के लिए उपयोग करने के लिए सेट करता है यदि इसे फायरबेस डायनेमिक लिंक का उपयोग करके खोला जाना है। चूंकि प्रति प्रोजेक्ट कई डायनामिक लिंक डोमेन कॉन्फ़िगर किए जा सकते हैं, यह फ़ील्ड स्पष्ट रूप से किसी एक को चुनने की क्षमता प्रदान करती है। यदि कोई नहीं प्रदान किया जाता है, तो पहला डोमेन डिफ़ॉल्ट रूप से उपयोग किया जाता है।

निम्नलिखित उदाहरण बताता है कि जो सबसे पहले एक Firebase गतिशील लिंक कस्टम गतिशील लिंक डोमेन का उपयोग कर के रूप में एक मोबाइल एप्लिकेशन में खुलेगा एक ईमेल सत्यापन लिंक भेजने के लिए 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 गतिशील लिंक जब एक लिंक है कि एक मोबाइल आवेदन में खोला जा करने के लिए है भेजने। इस सुविधा का उपयोग करने के लिए, डायनेमिक लिंक्स को फायरबेस कंसोल में कॉन्फ़िगर करने की आवश्यकता है।

  1. फायरबेस डायनेमिक लिंक सक्षम करें:

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

      यदि आपने पहले ही एक डायनामिक लिंक डोमेन बना लिया है, तो उस पर ध्यान दें। एक डायनामिक लिंक डोमेन आमतौर पर निम्न उदाहरण जैसा दिखता है:

      example.page.link

      जब आप आने वाले लिंक को इंटरसेप्ट करने के लिए अपने ऐप्पल या एंड्रॉइड ऐप को कॉन्फ़िगर करते हैं तो आपको इस मूल्य की आवश्यकता होगी।

  2. एंड्रॉइड एप्लिकेशन को कॉन्फ़िगर करना:

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

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

वेब एप्लिकेशन में ईमेल क्रियाओं को संभालना

आप निर्दिष्ट कर सकते हैं कि क्या आप पहले किसी वेब एप्लिकेशन से एक्शन कोड लिंक को संभालना चाहते हैं और फिर सफल समापन के बाद किसी अन्य वेब पेज या मोबाइल एप्लिकेशन पर रीडायरेक्ट करना चाहते हैं, बशर्ते मोबाइल एप्लिकेशन उपलब्ध हो। इस सेटिंग के द्वारा किया जाता है handleCodeInApp को false में firebase.auth.ActionCodeSettings वस्तु। जबकि आईओएस बंडल आईडी या एंड्रॉइड पैकेज नाम की आवश्यकता नहीं है, उन्हें प्रदान करने से उपयोगकर्ता को ईमेल एक्शन कोड पूरा होने पर निर्दिष्ट ऐप पर वापस रीडायरेक्ट करने की अनुमति मिल जाएगी।

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

इस मामले में, के भीतर के लिंक continueUrl क्वेरी पैरामीटर एक FDL लिंक जिसका पेलोड है हो जाएगा URL में निर्दिष्ट ActionCodeSettings वस्तु। जबकि आप बिना किसी अतिरिक्त निर्भरता के अपने ऐप से आने वाले लिंक को इंटरसेप्ट और हैंडल कर सकते हैं, हम आपके लिए डीप लिंक को पार्स करने के लिए FDL क्लाइंट लाइब्रेरी का उपयोग करने की सलाह देते हैं।

जब इस तरह के ईमेल सत्यापन के रूप में ईमेल कार्यों से निपटने, से कार्रवाई कोड oobCode क्वेरी पैरामीटर की जरूरत डीप लिंक से पार्स किया जा सकता है और फिर के माध्यम से लागू किया applyActionCode प्रभावी करने के लिए बदलाव के लिए, यानी ईमेल सत्यापन किया जाना है।

मोबाइल एप्लिकेशन में ईमेल क्रियाओं को संभालना

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

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

इस मामले में, मोबाइल एप्लिकेशन लिंक उपयोगकर्ता को भेजी एक FDL लिंक जिसका पेलोड कार्रवाई कोड यूआरएल है, कंसोल में विन्यस्त, क्वेरी पैरामीटर के साथ हो जाएगा oobCode , mode , apiKey और continueUrl । बाद के मूल हो जाएगा URL में निर्दिष्ट ActionCodeSettings वस्तु। जबकि आप बिना किसी अतिरिक्त निर्भरता के अपने ऐप से आने वाले लिंक को इंटरसेप्ट और हैंडल कर सकते हैं, हम आपके लिए डीप लिंक को पार्स करने के लिए FDL क्लाइंट लाइब्रेरी का उपयोग करने की सलाह देते हैं। कार्रवाई कोड है कि यह कैसे वेब प्रवाह में वर्णित से नियंत्रित किया जाता है के लिए इसी तरह किसी मोबाइल ऐप्स से सीधे लागू किया जा सकता अनुरूपण ईमेल संचालकों अनुभाग।

जब इस तरह के ईमेल सत्यापन के रूप में ईमेल कार्यों से निपटने, से कार्रवाई कोड oobCode क्वेरी पैरामीटर की जरूरत डीप लिंक से पार्स किया जा सकता है और फिर के माध्यम से लागू किया applyActionCode प्रभावी करने के लिए बदलाव के लिए, यानी ईमेल सत्यापन किया जाना है।