Save the date - Google I/O returns May 18-20. Register to get the most out of the digital experience: Build your schedule, reserve space, participate in Q&As, earn Google Developer profile badges, and more. Register now
इस पेज का अनुवाद Cloud Translation API से किया गया है.
Switch to English

ईमेल क्रियाओं में पासिंग स्टेट

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

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

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

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

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

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

पासिंग स्टेट / ईमेल क्रियाओं में URL जारी रखें

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

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

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

लिंक (राज्य / जारी URL) सेट करें जिसके विभिन्न संदर्भों में अलग-अलग अर्थ हैं:

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

निम्न उदाहरण दिखाता है कि एक ईमेल सत्यापन लिंक कैसे भेजा जाए जो कस्टम डायनेमिक लिंक डोमेन example.page.link (iOS ऐप com.example.ios या एंड्रॉइड ऐप com.example.android का उपयोग करके एक मोबाइल ऐप में सबसे पहले फायरबेस डायनेमिक लिंक के रूप में खुलेगा com.example.android जहां ऐप इंस्टॉल होगा यदि पहले से इंस्टॉल नहीं है और न्यूनतम संस्करण 12 )। गहरी लिंक में जारी URL पेलोड होगा 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 Auth एक लिंक भेजते समय Firebase डायनेमिक लिंक का उपयोग करता है जो कि मोबाइल एप्लिकेशन में खोला जाना है। इस सुविधा का उपयोग करने के लिए, फायरबेस कंसोल में डायनामिक लिंक्स को कॉन्फ़िगर करना होगा।

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

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

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

      example.page.link

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

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

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

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

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

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

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

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

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

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

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

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

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

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