पासवर्ड रीसेट करने या उपयोगकर्ता के ईमेल पते की पुष्टि करने के लिए ईमेल कार्रवाइयां भेजते समय, 'जारी रखें' यूआरएल की मदद से स्टेटस पास किया जा सकता है. इससे उपयोगकर्ता को कार्रवाई पूरी होने के बाद, ऐप्लिकेशन पर वापस जाने की सुविधा मिलती है. इसके अलावा, यह भी तय किया जा सकता है कि ईमेल ऐक्शन लिंक को सीधे मोबाइल ऐप्लिकेशन से मैनेज किया जाए या वेब पेज से.
यह सुविधा इन सामान्य स्थितियों में काफ़ी मददगार साबित हो सकती है:
हो सकता है कि कोई उपयोगकर्ता, फ़िलहाल लॉग इन न किया हो और वह ऐसा कॉन्टेंट ऐक्सेस करने की कोशिश कर रहा हो जिसके लिए साइन इन करना ज़रूरी हो. हालांकि, हो सकता है कि उपयोगकर्ता ने अपना पासवर्ड भूल दिया हो और इसलिए, पासवर्ड रीसेट करने की प्रोसेस शुरू हो गई हो. फ़्लो के आखिर में, उपयोगकर्ता को ऐप्लिकेशन के उस सेक्शन पर वापस ले जाया जाना चाहिए जिसे वह ऐक्सेस करने की कोशिश कर रहा था.
कोई ऐप्लिकेशन, सिर्फ़ पुष्टि किए गए खातों का ऐक्सेस दे सकता है. उदाहरण के लिए, किसी न्यूज़लेटर ऐप्लिकेशन में सदस्यता लेने से पहले, उपयोगकर्ता को अपने ईमेल पते की पुष्टि करनी पड़ सकती है. उपयोगकर्ता को ईमेल पते की पुष्टि करने के लिए कहा जाएगा. इसके बाद, उसे सदस्यता की प्रक्रिया पूरी करने के लिए ऐप्लिकेशन पर वापस भेजा जाएगा.
आम तौर पर, जब कोई उपयोगकर्ता Apple ऐप्लिकेशन पर पासवर्ड रीसेट करने या ईमेल पते की पुष्टि करने की प्रोसेस शुरू करता है, तो वह उम्मीद करता है कि वह ऐप्लिकेशन में ही प्रोसेस पूरी कर पाएगा. 'जारी रखें' यूआरएल की मदद से स्टेटस पास करने की सुविधा की वजह से, ऐसा करना संभव है.
'जारी रखें' यूआरएल की मदद से स्टेटस पास करने की सुविधा, Firebase Auth की एक बेहतरीन सुविधा है. इससे उपयोगकर्ता अनुभव को बेहतर बनाया जा सकता है.
ईमेल कार्रवाइयों में, जारी रखने के लिए यूआरएल की स्थिति पास करना
'जारी रखें' यूआरएल को सुरक्षित तरीके से पास करने के लिए, यूआरएल के डोमेन को Firebase कंसोल में श्वेतसूची में शामिल करना होगा. इसके लिए, पुष्टि सेक्शन में जाएं. अगर यह डोमेन पहले से साइन इन करने के तरीके टैब में मौजूद अनुमति वाले डोमेन की सूची में नहीं है, तो इसे जोड़ें.
पासवर्ड फिर से सेट करने का ईमेल या पुष्टि करने वाला ईमेल भेजते समय, FIRActionCodeSettings
का एक इंस्टेंस देना ज़रूरी है. यह इंटरफ़ेस इन पैरामीटर का इस्तेमाल करता है:
Swift
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
URL |
स्ट्रिंग | यह लिंक (स्टेटस/जारी रखें यूआरएल) सेट करता है, जिसका अलग-अलग संदर्भों में अलग-अलग मतलब होता है:
|
iOSBundleID |
स्ट्रिंग | iOS बंडल आईडी सेट करता है, ताकि Firebase Authentication यह तय कर सके कि उसे सिर्फ़ वेब या मोबाइल के लिए लिंक बनाना चाहिए या ऐसा लिंक जो Apple डिवाइस पर खुलता हो |
androidPackageName |
स्ट्रिंग | Android पैकेज का नाम सेट करता है, ताकि Firebase Authentication यह तय कर सके कि उसे सिर्फ़ वेब या मोबाइल के लिए लिंक बनाना है या Android डिवाइस पर खोला जाने वाला लिंक |
handleCodeInApp |
बूल | ईमेल ऐक्शन लिंक को मोबाइल ऐप्लिकेशन या वेब लिंक में से पहले किसमें खोला जाएगा. डिफ़ॉल्ट रूप से, यह 'गलत' पर सेट होती है. 'सही है' पर सेट होने पर, ऐक्शन कोड लिंक को यूनिवर्सल लिंक या Android ऐप्लिकेशन लिंक के तौर पर भेजा जाएगा. साथ ही, अगर ऐप्लिकेशन इंस्टॉल है, तो वह लिंक को खोल देगा. गलत होने पर, कोड सबसे पहले वेब विजेट पर भेजा जाएगा और फिर 'जारी रखें' पर क्लिक करने पर, ऐप्लिकेशन इंस्टॉल होने पर उस पर रीडायरेक्ट कर दिया जाएगा. |
linkDomain |
स्ट्रिंग | जब किसी प्रोजेक्ट के लिए, होस्टिंग लिंक के कस्टम डोमेन तय किए जाते हैं, तो बताएं कि किसी खास मोबाइल ऐप्लिकेशन से लिंक खोलने पर, किस डोमेन का इस्तेमाल किया जाए. ऐसा न करने पर, डिफ़ॉल्ट डोमेन अपने-आप चुना जाता है. उदाहरण के लिए, PROJECT_ID.firebaseapp.com |
dynamicLinkDomain |
स्ट्रिंग | समर्थन नहीं होना या रुकना. इस पैरामीटर की वैल्यू सबमिट न करें. |
Objective-C
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
URL |
NSString | यह लिंक (स्टेटस/जारी रखें यूआरएल) सेट करता है, जिसका अलग-अलग संदर्भों में अलग-अलग मतलब होता है:
|
iOSBundleID |
NSString | iOS बंडल आईडी सेट करता है, ताकि Firebase Authentication यह तय कर सके कि उसे सिर्फ़ वेब या मोबाइल के लिए लिंक बनाना चाहिए या ऐसा लिंक जो Android या Apple डिवाइस पर खोला जा सके |
androidPackageName |
NSString | Android पैकेज का नाम सेट करता है, ताकि Firebase Authentication यह तय कर सके कि उसे सिर्फ़ वेब या मोबाइल के लिए लिंक बनाना है या नहीं. यह लिंक, Android या Apple डिवाइस पर खोला जा सकता है |
handleCodeInApp |
BOOL | ईमेल ऐक्शन लिंक को मोबाइल ऐप्लिकेशन या वेब लिंक में से पहले किसमें खोला जाएगा. डिफ़ॉल्ट रूप से, यह 'गलत' पर सेट होती है. 'सही है' पर सेट होने पर, ऐक्शन कोड लिंक को यूनिवर्सल लिंक या Android ऐप्लिकेशन लिंक के तौर पर भेजा जाएगा. साथ ही, अगर ऐप्लिकेशन इंस्टॉल है, तो वह लिंक को खोल देगा. गलत होने पर, कोड सबसे पहले वेब विजेट पर भेजा जाएगा और फिर 'जारी रखें' पर क्लिक करने पर, ऐप्लिकेशन इंस्टॉल होने पर उस पर रीडायरेक्ट कर दिया जाएगा. |
linkDomain |
NSString | जब किसी प्रोजेक्ट के लिए कस्टम Hosting लिंक डोमेन तय किए जाते हैं, तो यह तय करें कि किसी खास मोबाइल ऐप्लिकेशन से लिंक खोलने पर, किस डोमेन का इस्तेमाल किया जाए. ऐसा न करने पर, डिफ़ॉल्ट डोमेन अपने-आप चुना जाता है. उदाहरण के लिए, PROJECT_ID.firebaseapp.com |
dynamicLinkDomain |
NSString | समर्थन नहीं होना या रुकना. इस पैरामीटर की वैल्यू सबमिट न करें. |
यहां दिए गए उदाहरण में, पुष्टि करने के लिए ईमेल से भेजा जाने वाला ऐसा लिंक भेजने का तरीका बताया गया है जो पहले कस्टम Hosting लिंक डोमेनcustom-domain.com
का इस्तेमाल करके मोबाइल ऐप्लिकेशन में खुलेगा. डीप लिंक में, जारी रखने के लिए यूआरएल का पेलोड होगा
https://www.example.com/?email=user@example.com
.
Swift
var actionCodeSettings = ActionCodeSettings.init() actionCodeSettings.canHandleInApp = true let user = Auth.auth().currentUser() actionCodeSettings.URL = String(format: "https://www.example.com/?email=%@", user.email) actionCodeSettings.iOSbundleID = Bundle.main.bundleIdentifier! actionCodeSettings.setAndroidPakageName("com.example.android") // Specify a custom Hosting link domain to use. The domain must be // configured in Firebase Hosting and owned by the project. actionCodeSettings.linkDomain = "custom-domain.com" user.sendEmailVerification(withActionCodeSettings:actionCodeSettings { error in if error { // Error occurred. Inspect error.code and handle error. return } // Email verification sent. })
Objective-C
FIRActionCodeSettings *actionCodeSettings = [[FIRActionCodeSettings alloc] init]; actionCodeSettings.handleCodeInApp = YES; FIRUser *user = [FIRAuth auth].currentUser; NSString *urlString = [NSString stringWithFormat:@"https://www.example.com/?email=%@", user.email]; actionCodeSettings.URL = [NSURL URLWithString:urlString]; actionCodeSettings.iOSBundleID = [NSBundle mainBundle].bundleIdentifier; // Specify a custom Hosting link domain to use. The domain must be // configured in Firebase Hosting and owned by the project. actionCodeSettings.linkDomain = @"custom-domain.com"; [actionCodeSettings setAndroidPackageName:@"com.example.android"]; [user sendEmailVerificationWithActionCodeSettings:actionCodeSettings completion:^(NSError *_Nullable error) { if (error) { // Error occurred. Inspect error.code and handle error. return; } // Email verification sent. }];
Firebase Hosting लिंक कॉन्फ़िगर करना
Firebase Authentication, मोबाइल ऐप्लिकेशन में खोलने के लिए लिंक भेजते समय Firebase Hosting का इस्तेमाल करता है. इस सुविधा का इस्तेमाल करने के लिए, Hosting लिंक को Firebase कंसोल में कॉन्फ़िगर करना होगा.
Apple के ऐप्लिकेशन कॉन्फ़िगर करना:
- अगर आपको अपने ऐप्लिकेशन से इन लिंक को मैनेज करना है, तो आपको अपने ऐप्लिकेशन की सुविधाओं में Hosting लिंक डोमेन को असोसिएटेड डोमेन के तौर पर कॉन्फ़िगर करना होगा.
- इस बारे में ज़्यादा जानने के लिए, iOS होस्टिंग लिंक के निर्देश पाना लेख पढ़ें.
Android ऐप्लिकेशन कॉन्फ़िगर करना:
- अगर आपको अपने Android ऐप्लिकेशन से इन लिंक को मैनेज करना है, तो Firebase console प्रोजेक्ट की सेटिंग में, अपने ऐप्लिकेशन के पैकेज का नाम डालना होगा. इसके अलावा, ऐप्लिकेशन सर्टिफ़िकेट का SHA-1 और SHA-256 भी देना होगा.
- आपको अपनी
AndroidManifest.xml
फ़ाइल में, डीप लिंक के लिए इंटेंट फ़िल्टर को कॉन्फ़िगर करना होगा. - इस बारे में ज़्यादा जानने के लिए, Android होस्टिंग के लिंक पाने के निर्देश देखें.
वेब ऐप्लिकेशन में ईमेल से जुड़ी कार्रवाइयां मैनेज करना
आपके पास यह तय करने का विकल्प होता है कि आपको ऐक्शन कोड के लिंक को पहले किसी वेब ऐप्लिकेशन से मैनेज करना है या नहीं. अगर आपको ऐसा करना है, तो लिंक मैनेज होने के बाद, उपयोगकर्ता को किसी दूसरे वेब पेज या मोबाइल ऐप्लिकेशन पर रीडायरेक्ट किया जा सकता है. हालांकि, इसके लिए ज़रूरी है कि मोबाइल ऐप्लिकेशन उपलब्ध हो.
ऐसा करने के लिए, FIRActionCodeSettings
(Obj-C) या ActionCodeSettings
(Swift) ऑब्जेक्ट में handleCodeInApp
को false
पर सेट करें. बंडल आईडी या Android पैकेज का नाम देना ज़रूरी नहीं है. हालांकि, इन्हें देने पर उपयोगकर्ता को ईमेल ऐक्शन कोड पूरा होने पर, बताए गए ऐप्लिकेशन पर रीडायरेक्ट किया जा सकेगा.
यहां इस्तेमाल किया गया वेब यूआरएल, ईमेल ऐक्शन टेंप्लेट सेक्शन में कॉन्फ़िगर किया गया यूआरएल होता है. सभी प्रोजेक्ट के लिए, डिफ़ॉल्ट रूप से एक डोमेन उपलब्ध होता है. ईमेल ऐक्शन हैंडलर को पसंद के मुताबिक बनाने के तरीके के बारे में ज़्यादा जानने के लिए, ईमेल हैंडलर को पसंद के मुताबिक बनाना लेख पढ़ें.
इस मामले में, continueURL
क्वेरी पैरामीटर में मौजूद लिंक एक Hosting लिंक होगा. इसका पेलोड, ActionCodeSettings
ऑब्जेक्ट में बताए गए URL
होगा.
ईमेल की पुष्टि जैसी ईमेल कार्रवाइयों को मैनेज करते समय, oobCode
क्वेरी पैरामीटर के ऐक्शन कोड को डीप लिंक से पार्स करना ज़रूरी है.इसके बाद, बदलाव लागू होने के लिए, applyActionCode
के ज़रिए इसे लागू करना होगा. इसका मतलब है कि ईमेल की पुष्टि की जानी चाहिए.
मोबाइल ऐप्लिकेशन में ईमेल से जुड़ी कार्रवाइयां मैनेज करना
आपके पास यह तय करने का विकल्प होता है कि आपको ऐक्शन कोड लिंक को अपने मोबाइल ऐप्लिकेशन में पहले मैनेज करना है या नहीं. हालांकि, इसके लिए ज़रूरी है कि ऐप्लिकेशन इंस्टॉल हो. अगर लिंक पर किसी ऐसे डिवाइस से क्लिक किया जाता है जिस पर मोबाइल ऐप्लिकेशन काम नहीं करता, तो वह लिंक किसी वेब पेज पर खुलता है. ऐसा करने के लिए, FIRActionCodeSettings
(Obj-C) या ActionCodeSettings
(Swift) ऑब्जेक्ट में handleCodeInApp
को true
पर सेट करें. मोबाइल ऐप्लिकेशन के Android पैकेज का नाम या बंडल आईडी भी बताना होगा. जब कोई मोबाइल ऐप्लिकेशन उपलब्ध न हो, तब यहां इस्तेमाल किया जाने वाला फ़ॉलबैक वेब यूआरएल, ईमेल ऐक्शन टेंप्लेट सेक्शन में कॉन्फ़िगर किया गया होता है. सभी प्रोजेक्ट के लिए, डिफ़ॉल्ट तौर पर एक डोमेन उपलब्ध होता है. ईमेल ऐक्शन हैंडलर को पसंद के मुताबिक बनाने के तरीके के बारे में ज़्यादा जानने के लिए, ईमेल हैंडलर को पसंद के मुताबिक बनाना लेख पढ़ें.
इस मामले में, उपयोगकर्ता को भेजा गया मोबाइल ऐप्लिकेशन लिंक एक Hosting लिंक होगा. इसका पेलोड, Console में कॉन्फ़िगर किया गया ऐक्शन कोड यूआरएल होगा. साथ ही, इसमें क्वेरी पैरामीटर oobCode
, mode
, apiKey
, और continueUrl
शामिल होंगे. बाद वाला URL
, FIRActionCodeSettings
(Obj-C) या ActionCodeSettings
(Swift) ऑब्जेक्ट में बताए गए मूल URL
होगा. ऐक्शन कोड को सीधे मोबाइल ऐप्लिकेशन से लागू किया जा सकता है. यह उसी तरह से किया जाता है जिस तरह ईमेल हैंडलर को पसंद के मुताबिक बनाने वाले सेक्शन में बताया गया है.
ईमेल की पुष्टि जैसी ईमेल कार्रवाइयों को मैनेज करते समय, oobCode
क्वेरी पैरामीटर के ऐक्शन कोड को डीप लिंक से पार्स करना ज़रूरी है.इसके बाद, बदलाव लागू होने के लिए, applyActionCode
के ज़रिए इसे लागू करना होगा. इसका मतलब है कि ईमेल की पुष्टि की जानी चाहिए.