पासवर्ड के लिए ईमेल कार्रवाइयां भेजते समय आप जारी रखें यूआरएल के ज़रिए स्थिति पास कर सकते हैं उपयोगकर्ता के ईमेल को रीसेट या पुष्टि करता है. इससे उपयोगकर्ता को यह समझने की सुविधा मिलती है कि कार्रवाई पूरी होने के बाद, ऐप्लिकेशन पर वापस चले जाएंगे. इसके अतिरिक्त, आप क्या ईमेल कार्रवाई लिंक को सीधे किसी मोबाइल ऐप्लिकेशन से हैंडल करना है या नहीं तो यह वेब पेज के बजाय इंस्टॉल हो जाता है.
इन सामान्य स्थितियों में यह बहुत मददगार साबित हो सकता है:
ऐसा उपयोगकर्ता जो फ़िलहाल लॉग इन नहीं है, शायद ऐसे कॉन्टेंट को ऐक्सेस करने की कोशिश कर रहा हो जो उपयोगकर्ता को साइन इन करना ज़रूरी है. हालांकि, हो सकता है कि उपयोगकर्ता भूल गया हो इससे पासवर्ड रीसेट करने का फ़्लो ट्रिगर होता है. आखिर में प्रोसेस पूरी होने के बाद, उपयोगकर्ता ऐप्लिकेशन के उस सेक्शन पर वापस जाने की उम्मीद करता है जो वह को ऐक्सेस करने की कोशिश कर रहा है.
ऐसा हो सकता है कि कोई ऐप्लिकेशन सिर्फ़ पुष्टि किए गए खातों को ऐक्सेस करने की सुविधा दे. इसके लिए उदाहरण के लिए, किसी न्यूज़लेटर ऐप्लिकेशन के लिए, उपयोगकर्ता को सदस्यता लें. उपयोगकर्ता को ईमेल पते की पुष्टि की प्रक्रिया से गुज़रना होगा और सदस्यता पूरी करने के लिए, उन्हें ऐप्लिकेशन पर वापस करना होगा.
आम तौर पर, जब कोई उपयोगकर्ता चालू पासवर्ड रीसेट या ईमेल पुष्टि फ़्लो शुरू करता है ऐसा Apple ऐप्लिकेशन जो ऐप्लिकेशन में फ़्लो पूरा करने की उम्मीद करता हो; यह मुमकिन है कि जारी रखें यूआरएल के ज़रिए पास की स्थिति की वजह से ऐसा हो सकता है.
एक जारी यूआरएल के ज़रिए स्थिति पास कर पाने की क्षमता एक बेहतरीन सुविधा है, जो Firebase पुष्टि की सुविधा से उपयोगकर्ता अनुभव को बेहतर बनाया जा सकता है.
पास होने की स्थिति/ईमेल पर की जाने वाली कार्रवाइयों में यूआरएल का इस्तेमाल जारी रखें
एक जारी यूआरएल को सुरक्षित रूप से पास करने के लिए, यूआरएल के डोमेन को Firebase कंसोल में अनुमति वाली सूची में शामिल किया जाएगा. ऐसा करने के लिए, पुष्टि करें सेक्शन में इस डोमेन को साइन-इन करने का तरीका टैब के तहत, अनुमति वाले डोमेन की सूची पहले से ही मौजूद न हो.
भेजते समय एक ActionCodeSettings
इंस्टेंस देना ज़रूरी है
पासवर्ड रीसेट करने के लिए लिंक या पुष्टि करने के लिए ईमेल. यह इंटरफ़ेस
ये पैरामीटर:
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
url |
स्ट्रिंग | ऐसा लिंक (राज्य/जारी रखें यूआरएल) सेट करता है, जिसका अलग मतलब होता है अलग-अलग कॉन्टेक्स्ट में:
|
iOSBundleId |
स्ट्रिंग | बंडल आईडी सेट करता है. ऐसा करने से, Apple ऐप्लिकेशन में लिंक खुल जाएगा, तो तो यह इंस्टॉल हो जाता है. ऐप्लिकेशन, Console में रजिस्टर होना चाहिए. अगर नहीं बंडल आईडी दिया गया है, इस फ़ील्ड का मान इसके बंडल आईडी पर सेट किया गया है ऐप्लिकेशन का मुख्य बंडल. |
androidPackageName |
स्ट्रिंग | Android पैकेज का नाम सेट करता है. इससे लिंक को किसी Android ऐप्लिकेशन को इंस्टॉल करें. |
androidInstallApp |
बूल | इससे पता चलता है कि अगर डिवाइस पर Android ऐप्लिकेशन काम करता है, तो उसे इंस्टॉल करना है या नहीं साथ ही, यह ऐप्लिकेशन पहले से इंस्टॉल न हो. अगर इस फ़ील्ड को PackageName, एक गड़बड़ी होती है जो यह बताती है कि PackageName इस फ़ील्ड के साथ दिया गया होना चाहिए. |
androidMinimumVersion |
स्ट्रिंग | ऐप्लिकेशन का वह कम से कम वर्शन जो इस फ़्लो में काम करता हो. अगर आपने कम से कम वर्शन के बारे में बताया गया है और ऐप्लिकेशन का पुराना वर्शन इंस्टॉल किया गया है, ऐप्लिकेशन को अपग्रेड करने के लिए, उपयोगकर्ता को Play Store पर ले जाया जाता है. Android ऐप्लिकेशन कंसोल में रजिस्टर होना चाहिए. |
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
.
final user = FirebaseAuth.instance.currentUser;
final actionCodeSettings = ActionCodeSettings(
url: "http://www.example.com/verify?email=${user?.email}",
iOSBundleId: "com.example.ios",
androidPackageName: "com.example.android",
);
await user?.sendEmailVerification(actionCodeSettings);
Firebase डाइनैमिक लिंक कॉन्फ़िगर करना
Firebase पुष्टि, Firebase डाइनैमिक लिंक का इस्तेमाल तब करता है, जब लिंक शामिल होता है जो मोबाइल ऐप्लिकेशन में खोला जाता है. इस सुविधा का इस्तेमाल करने के लिए सुविधा के लिए, डाइनैमिक लिंक को Firebase कंसोल में कॉन्फ़िगर किया जाना चाहिए.
Firebase डाइनैमिक लिंक चालू करें:
Firebase कंसोल में, डाइनैमिक लिंक सेक्शन खोलें.
अगर आपने अभी तक डाइनैमिक लिंक की शर्तें स्वीकार नहीं की हैं और डाइनैमिक लिंक डोमेन है, तो अभी ऐसा करें.
अगर आपने पहले ही डाइनैमिक लिंक डोमेन बना लिया है, तो उस पर ध्यान दें. डाइनैमिक लिंक डोमेन आम तौर पर नीचे दिया गया उदाहरण जैसा दिखता है:
example.page.link
आपको इस वैल्यू की ज़रूरत तब होगी, जब Apple या Android ऐप्लिकेशन को आने वाले लिंक को इंटरसेप्ट करें.
Android ऐप्लिकेशन कॉन्फ़िगर करना:
- अगर आप अपने Android ऐप्लिकेशन के इन लिंक को मैनेज करना चाहते हैं, तो Firebase कंसोल में, Android पैकेज का नाम डालना ज़रूरी है प्रोजेक्ट सेटिंग. इसके अलावा, ऐप्लिकेशन के SHA-1 और SHA-256 सर्टिफ़िकेट देना ज़रूरी है.
- आपको डीप लिंक के लिए इंटेंट फ़िल्टर को भी कॉन्फ़िगर करना होगा आपकी AndroidManifest.xml फ़ाइल में है.
- इस बारे में ज़्यादा जानकारी के लिए, इसे देखें Android डाइनैमिक लिंक से जुड़े निर्देश मिल रहे हैं.
Apple ऐप्लिकेशन कॉन्फ़िगर करना:
- अगर आपको अपने ऐप्लिकेशन से इन लिंक को मैनेज करना है, तो Firebase कंसोल में बंडल आईडी तय करना ज़रूरी है प्रोजेक्ट सेटिंग. साथ ही, App Store का आईडी और Apple Developer, टीम आईडी को भी बताना ज़रूरी है.
- आपको FDL यूनिवर्सल लिंक डोमेन को आपके ऐप्लिकेशन की क्षमताओं में असोसिएटेड डोमेन.
- अगर आपको अपना ऐप्लिकेशन iOS 8 और इससे पहले के वर्शन पर उपलब्ध कराना है, तो इनकमिंग के लिए आपको कस्टम स्कीम के तौर पर अपना बंडल आईडी सेट करना होगा यूआरएल.
- इस बारे में ज़्यादा जानकारी के लिए, इसे देखें Apple प्लैटफ़ॉर्म के डाइनैमिक लिंक से जुड़े निर्देश पाना.
किसी वेब ऐप्लिकेशन में ईमेल कार्रवाइयों को मैनेज करना
आपके पास यह बताने का विकल्प है कि क्या आपको वेब से, ऐक्शन कोड का लिंक मैनेज करना है
पहले किसी अन्य वेब पेज या मोबाइल ऐप्लिकेशन पर रीडायरेक्ट करें
पूरा होने के बाद, बशर्ते मोबाइल ऐप्लिकेशन उपलब्ध हो.
ऐसा करने के लिए, ActionCodeSettings
ऑब्जेक्ट में handleCodeInApp
को false
पर सेट किया जाता है. हालांकि
बंडल आईडी
या Android पैकेज का नाम डालना ज़रूरी नहीं है. नाम देने पर, उपयोगकर्ता
ईमेल के ऐक्शन कोड के पूरा होने पर, तय किए गए ऐप्लिकेशन पर वापस रीडायरेक्ट करने के लिए.
यहां जिस वेब यूआरएल का इस्तेमाल किया जाता है उसे ईमेल ऐक्शन टेंप्लेट में कॉन्फ़िगर किया जाता है सेक्शन में जाएं. सभी प्रोजेक्ट के लिए डिफ़ॉल्ट तौर पर सेट किया जाता है. इससे संदर्भ लें ईमेल हैंडलर को पसंद के मुताबिक बनाना, ताकि आप इनके बारे में ज़्यादा जान सकें ईमेल कार्रवाई हैंडलर को पसंद के मुताबिक कैसे बनाया जाए.
इस मामले में, continueURL
क्वेरी पैरामीटर में मौजूद लिंक
FDL लिंक, जिसका पेलोड ActionCodeSettings
में बताया गया URL
है
ऑब्जेक्ट है. हालांकि, आपके पास अपने ऐप्लिकेशन से आने वाले लिंक को इंटरसेप्ट और मैनेज करने का विकल्प है
हमारा सुझाव है कि आप एफ़डीएल क्लाइंट लाइब्रेरी का इस्तेमाल करके, अतिरिक्त डिपेंडेंसी के बिना किसी अतिरिक्त डिपेंडेंसी का इस्तेमाल करें
अपने लिए डीप लिंक को पार्स कर सकते हैं.
ईमेल की पुष्टि जैसी ईमेल कार्रवाइयों को मैनेज करते समय,
oobCode
क्वेरी पैरामीटर को डीप लिंक से पार्स करके लागू करना ज़रूरी है
applyActionCode
के ज़रिए बदलाव लागू करने के लिए. उदाहरण के लिए, पुष्टि के लिए ईमेल.
मोबाइल ऐप्लिकेशन में ईमेल कार्रवाइयां मैनेज करना
आप यह तय कर सकते हैं कि आप अपने
मोबाइल ऐप्लिकेशन को प्राथमिकता दें, बशर्ते वह इंस्टॉल हो. Android ऐप्लिकेशन से,
आप androidInstallApp
के ज़रिए यह भी बता सकते हैं कि
ऐप्लिकेशन को इंस्टॉल करना है, अगर डिवाइस पर यह सुविधा काम करती है और पहले से मौजूद नहीं है
इंस्टॉल किया गया.
अगर लिंक पर किसी ऐसे डिवाइस से क्लिक किया गया है जो मोबाइल का समर्थन नहीं करता
तो यह किसी वेब पेज से खोला जाता है.
ऐसा करने के लिए, ActionCodeSettings
ऑब्जेक्ट में handleCodeInApp
को true
पर सेट किया जाता है. कॉन्टेंट बनाने
मोबाइल ऐप्लिकेशन का Android पैकेज नाम या बंडल आईडी भी यह होना चाहिए
बताया गया है.अगर कोई मोबाइल ऐप्लिकेशन उपलब्ध नहीं है, तो यहां इस्तेमाल किया जाने वाला फ़ॉलबैक वेब यूआरएल है
वह कॉन्फ़िगरेशन होता है जिसे ईमेल के ऐक्शन टेंप्लेट सेक्शन में कॉन्फ़िगर किया गया है. डिफ़ॉल्ट रूप से यह होता है
सभी प्रोजेक्ट के लिए प्रावधान किया गया है. इससे संदर्भ लें
ईमेल हैंडलर को पसंद के मुताबिक बनाना, ताकि आप इनके बारे में ज़्यादा जान सकें
ईमेल कार्रवाई हैंडलर को पसंद के मुताबिक कैसे बनाया जाए.
इस मामले में, उपयोगकर्ता को भेजा गया मोबाइल ऐप्लिकेशन लिंक एक एफ़डीएल लिंक होगा, जिसका
पेलोड, ऐक्शन कोड यूआरएल होता है, जिसे कंसोल में क्वेरी के साथ कॉन्फ़िगर किया जाता है
पैरामीटर oobCode
, mode
, apiKey
, और continueUrl
. बाद वाला
मूल URL
ActionCodeSettings
ऑब्जेक्ट. हालांकि, आपके पास इन्हें इंटरसेप्ट और हैंडल करने का विकल्प है
हमारा सुझाव है कि आप अपने ऐप्लिकेशन से, बिना किसी अतिरिक्त डिपेंडेंसी के आने वाले लिंक का इस्तेमाल करें.
डीप लिंक को पार्स करने के लिए, FDL क्लाइंट लाइब्रेरी का इस्तेमाल करें. कार्रवाई कोड ये काम कर सकता है:
इन्हें सीधे किसी मोबाइल ऐप्लिकेशन से उसी तरह लागू किया जा सकता है जिस तरह इसे मैनेज किया जाता है
वेब फ़्लो जो इसमें बताया गया है
ईमेल हैंडलर को पसंद के मुताबिक बनाना सेक्शन में देखें.
ईमेल की पुष्टि जैसी ईमेल कार्रवाइयों को मैनेज करते समय,
oobCode
क्वेरी पैरामीटर को डीप लिंक से पार्स करके लागू करना ज़रूरी है
applyActionCode
के ज़रिए बदलाव लागू करने के लिए. उदाहरण के लिए, पुष्टि के लिए ईमेल.