Google is committed to advancing racial equity for Black communities. See how.
इस पेज का अनुवाद 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 या Android ऐप 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 ऐप्लीकेशन से इन लिंक को संभालने की योजना बनाते हैं, तो 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 के माध्यम से आवेदन किया जाता है, अर्थात सत्यापित होने के लिए ईमेल।