Flutter ऐप्लिकेशन में डाइनैमिक लिंक बनाना

Firebase डाइनैमिक लिंक बिल्डर एपीआई की मदद से, छोटे या लंबे डाइनैमिक लिंक बनाए जा सकते हैं. यह एपीआई, लंबे डाइनैमिक लिंक या डाइनैमिक लिंक पैरामीटर वाले ऑब्जेक्ट को स्वीकार करता है. साथ ही, यहां दिए गए उदाहरणों जैसे यूआरएल दिखाता है:

https://example.com/link/WXYZ
https://example.page.link/WXYZ

Android ऐप्लिकेशन में डाइनैमिक लिंक बनाने से पहले, आपको Firebase SDK टूल को शामिल करना होगा. अगर आपका ऐप्लिकेशन डाइनैमिक लिंक पाने के लिए सेट अप किया गया है, तो आपने ये चरण पहले ही पूरे कर लिए हैं. इसलिए, इस सेक्शन को छोड़ा जा सकता है.

  1. अगर आपने अब तक ऐसा नहीं किया है, तो Flutter के लिए Firebase SDK टूल इंस्टॉल करें और उन्हें शुरू करें.

  2. अपने Flutter प्रोजेक्ट की रूट डायरेक्ट्री से, डाइनैमिक लिंक प्लगिन को इंस्टॉल करने के लिए यह कमांड चलाएं:

    flutter pub add firebase_dynamic_links
    
  3. अगर आपको कोई Android ऐप्लिकेशन बनाना है, तो Firebase कंसोल का प्रोजेक्ट सेटिंग पेज खोलें. साथ ही, पक्का करें कि आपने SHA-1 साइनिंग पासकोड डाला हो. अगर ऐप्लिकेशन के लिंक इस्तेमाल किए जाते हैं, तो SHA-256 पासकोड भी डालें.

  4. Firebase कंसोल में, डाइनैमिक लिंक सेक्शन खोलें.

    1. अगर आपने डाइनैमिक लिंक के लिए अब तक कोई डोमेन सेट अप नहीं किया है, तो शुरू करें बटन पर क्लिक करें और निर्देशों का पालन करें.

      अगर आपके पास पहले से ही कोई डाइनैमिक लिंक डोमेन है, तो उसे नोट कर लें. प्रोग्राम के हिसाब से डाइनैमिक लिंक बनाते समय, आपको डाइनैमिक लिंक डोमेन देना होगा.

    2. सुझाया गया: "ज़्यादा" (⋮) मेन्यू में जाकर, वे यूआरएल पैटर्न बताएं जिनकी अनुमति आपके डीप लिंक और फ़ॉलबैक लिंक में है. ऐसा करके, बिना अनुमति वाली पार्टियों को ऐसे डाइनैमिक लिंक बनाने से रोका जा सकता है जो आपके डोमेन से उन साइटों पर रीडायरेक्ट करते हैं जिन पर आपका कंट्रोल नहीं है.

      यूआरएल के कुछ पैटर्न को अनुमति देना देखें.

डाइनैमिक लिंक बनाने के लिए, नया DynamicLinkParameters ऑब्जेक्ट बनाएं और उसे buildLink() या buildShortLink() को पास करें.

यहां दिए गए उदाहरण में, https://www.example.com/ के लिए एक लंबा डाइनैमिक लिंक बनाया गया है. यह लिंक, Android पर com.example.app.android और iOS पर com.example.app.ios ऐप्लिकेशन में खुलता है:

final dynamicLinkParams = DynamicLinkParameters(
  link: Uri.parse("https://www.example.com/"),
  uriPrefix: "https://example.page.link",
  androidParameters: const AndroidParameters(packageName: "com.example.app.android"),
  iosParameters: const IOSParameters(bundleId: "com.example.app.ios"),
);
final dynamicLink =
    await FirebaseDynamicLinks.instance.buildLink(dynamicLinkParams);

छोटा डाइनैमिक लिंक बनाने के लिए, DynamicLinkParameters ऑब्जेक्ट को buildShortLink() में पास करें. छोटे लिंक बनाने के लिए, नेटवर्क कॉल की ज़रूरत होती है. उदाहरण के लिए:

final dynamicLinkParams = DynamicLinkParameters(
  link: Uri.parse("https://www.example.com/"),
  uriPrefix: "https://example.page.link",
  androidParameters: const AndroidParameters(packageName: "com.example.app.android"),
  iosParameters: const IOSParameters(bundleId: "com.example.app.ios"),
);
final dynamicLink =
    await FirebaseDynamicLinks.instance.buildShortLink(dynamicLinkParams);

डिफ़ॉल्ट रूप से, छोटे डाइनैमिक लिंक ऐसे सफ़िक्स के साथ जनरेट होते हैं जो सिर्फ़ कुछ वर्णों के होते हैं. इससे लिंक छोटे हो जाते हैं, लेकिन इससे यह संभावना भी बढ़ जाती है कि कोई व्यक्ति किसी मान्य शॉर्ट लिंक का अनुमान लगा ले. आम तौर पर, ऐसा करने से कोई नुकसान नहीं होता, क्योंकि लिंक से सार्वजनिक जानकारी मिलती है.

हालांकि, अगर आपके छोटे लिंक उपयोगकर्ता की खास जानकारी पर ले जाते हैं, तो आपको 17 वर्णों के सफ़िक्स वाले लंबे लिंक बनाने चाहिए. इससे, किसी व्यक्ति के लिए मान्य डाइनैमिक लिंक का अनुमान लगाना बहुत मुश्किल हो जाता है. ऐसा करने के लिए, buildShortLink() तरीके में ShortDynamicLinkType.unguessable पास करें:

final unguessableDynamicLink = await FirebaseDynamicLinks.instance.buildShortLink(
    dynamicLinkParams,
    shortLinkType: ShortDynamicLinkType.unguessable,
);

डाइनैमिक लिंक बिल्डर एपीआई का इस्तेमाल करके, काम करने वाले किसी भी पैरामीटर के साथ डाइनैमिक लिंक बनाए जा सकते हैं. एपीआई का संदर्भ देखें.

नीचे दिए गए उदाहरण में, सेट किए गए कई सामान्य पैरामीटर के साथ डाइनैमिक लिंक बनाया गया है:

final dynamicLinkParams = DynamicLinkParameters(
  link: Uri.parse("https://www.example.com/"),
  uriPrefix: "https://example.page.link",
  androidParameters: const AndroidParameters(
    packageName: "com.example.app.android",
    minimumVersion: 30,
  ),
  iosParameters: const IOSParameters(
    bundleId: "com.example.app.ios",
    appStoreId: "123456789",
    minimumVersion: "1.0.1",
  ),
  googleAnalyticsParameters: const GoogleAnalyticsParameters(
    source: "twitter",
    medium: "social",
    campaign: "example-promo",
  ),
  socialMetaTagParameters: SocialMetaTagParameters(
    title: "Example of a Dynamic Link",
    imageUrl: Uri.parse("https://example.com/image.png"),
  ),
);
final dynamicLink =
    await FirebaseDynamicLinks.instance.buildShortLink(dynamicLinkParams);

डाइनैमिक लिंक के पैरामीटर इन तरीकों से सेट किए जा सकते हैं:

DynamicLink पैरामीटर
setLink वह लिंक जो आपका ऐप्लिकेशन खोलेगा. ऐसा यूआरएल डालें जिसे आपका ऐप्लिकेशन हैंडल कर सके. आम तौर पर, यह ऐप्लिकेशन का कॉन्टेंट या पेलोड होता है. इससे ऐप्लिकेशन के हिसाब से लॉजिक शुरू होता है. जैसे, उपयोगकर्ता को कूपन देना या वेलकम स्क्रीन दिखाना. यह लिंक, सही फ़ॉर्मैट वाला यूआरएल होना चाहिए. साथ ही, यह सही तरीके से यूआरएल-कोड किया गया हो, एचटीटीपी या एचटीटीपीएस का इस्तेमाल करता हो, और कोई दूसरा डाइनैमिक लिंक न हो.
setDomainUriPrefix आपके डाइनैमिक लिंक का यूआरएल प्रीफ़िक्स, जिसे Firebase कंसोल में देखा जा सकता है. डाइनैमिक लिंक डोमेन, यहां दिए गए उदाहरणों की तरह दिखता है:
https://example.com/link
https://example.page.link
AndroidParameters
setFallbackUrl ऐप्लिकेशन इंस्टॉल न होने पर, यह लिंक खुलेगा. अगर ऐप्लिकेशन इंस्टॉल नहीं है, तो Play Store से ऐप्लिकेशन इंस्टॉल करने के अलावा, कुछ और करने के लिए यह जानकारी दें. जैसे, कॉन्टेंट का मोबाइल वेब वर्शन खोलना या अपने ऐप्लिकेशन के लिए प्रमोशन पेज दिखाना.
setMinimumVersion आपके ऐप्लिकेशन के उस सबसे पुराने वर्शन का versionCode जो लिंक को खोल सकता है. अगर इंस्टॉल किया गया ऐप्लिकेशन पुराना वर्शन है, तो उपयोगकर्ता को ऐप्लिकेशन अपग्रेड करने के लिए Play Store पर ले जाया जाता है.
IosParameters
setAppStoreId आपके ऐप्लिकेशन का App Store आईडी. इसका इस्तेमाल, ऐप्लिकेशन इंस्टॉल न होने पर उपयोगकर्ताओं को App Store पर भेजने के लिए किया जाता है
setFallbackUrl ऐप्लिकेशन इंस्टॉल न होने पर, यह लिंक खुलेगा. अगर ऐप्लिकेशन इंस्टॉल नहीं है, तो App Store से ऐप्लिकेशन इंस्टॉल करने के अलावा, कुछ और करने के लिए यह जानकारी दें. जैसे, कॉन्टेंट का मोबाइल वेब वर्शन खोलना या अपने ऐप्लिकेशन के लिए प्रमोशन पेज दिखाना.
setCustomScheme आपके ऐप्लिकेशन की कस्टम यूआरएल स्कीम, अगर उसे आपके ऐप्लिकेशन के बंडल आईडी के अलावा कुछ और के तौर पर तय किया गया है
setIpadFallbackUrl ऐप्लिकेशन इंस्टॉल न होने पर, iPad पर खुलने वाला लिंक. अगर ऐप्लिकेशन इंस्टॉल नहीं है, तो App Store से ऐप्लिकेशन इंस्टॉल करने के अलावा, कुछ और करने के लिए यह जानकारी दें. जैसे, कॉन्टेंट का वेब वर्शन खोलना या अपने ऐप्लिकेशन के लिए प्रमोशन पेज दिखाना.
setIpadBundleId iOS ऐप्लिकेशन का बंडल आईडी, जिसका इस्तेमाल iPad पर लिंक खोलने के लिए किया जाएगा. ऐप्लिकेशन को Firebase कंसोल के होम पेज से, आपके प्रोजेक्ट से कनेक्ट होना चाहिए.
setMinimumVersion आपके ऐप्लिकेशन के उस सबसे पुराने वर्शन का नंबर जो लिंक को खोल सकता है. यह फ़्लैग आपके ऐप्लिकेशन को तब पास किया जाता है, जब उसे खोला जाता है. इसके बाद, आपके ऐप्लिकेशन को यह तय करना होता है कि इसके साथ क्या करना है.
NavigationInfoParameters
setForcedRedirectEnabled अगर इसे '1' पर सेट किया जाता है, तो डाइनैमिक लिंक खुलने पर ऐप्लिकेशन की झलक वाला पेज स्किप हो जाएगा. इसके बजाय, उपयोगकर्ता को ऐप्लिकेशन या स्टोर पर रीडायरेक्ट कर दिया जाएगा. ऐप्लिकेशन की झलक दिखाने वाला पेज (डिफ़ॉल्ट रूप से चालू होता है) उपयोगकर्ताओं को सबसे सही डेस्टिनेशन पर भेज सकता है. ऐसा तब होता है, जब वे ऐप्लिकेशन में डाइनैमिक लिंक खोलते हैं. हालांकि, अगर आपको लगता है कि डाइनैमिक लिंक को सिर्फ़ उन ऐप्लिकेशन में खोला जाना चाहिए जो इस पेज के बिना डाइनैमिक लिंक को भरोसेमंद तरीके से खोल सकते हैं, तो इस पैरामीटर की मदद से इसे बंद किया जा सकता है. इस पैरामीटर का असर, सिर्फ़ iOS पर डाइनैमिक लिंक के काम करने के तरीके पर पड़ेगा.
SocialMetaTagParameters
setTitle सोशल मीडिया पर पोस्ट में डाइनैमिक लिंक शेयर करते समय इस्तेमाल किया जाने वाला टाइटल.
setDescription सोशल मीडिया पर पोस्ट में डाइनैमिक लिंक शेयर करते समय इस्तेमाल किया जाने वाला ब्यौरा.
setImageUrl इस लिंक से जुड़ी इमेज का यूआरएल. इमेज कम से कम 300x200 पिक्सल और 300 केबी से कम की होनी चाहिए.
GoogleAnalyticsParameters
setSource
setMedium
setCampaign
setTerm
setContent
Google Play के आंकड़ों से जुड़े पैरामीटर. ये पैरामीटर (`utm_source`, `utm_medium`, `utm_campaign`, `utm_term`, `utm_content`) Play Store को भेजे जाते हैं. साथ ही, इन्हें लिंक पेलोड में भी जोड़ा जाता है.
ItunesConnectAnalyticsParameters
setProviderToken
setAffiliateToken
setCampaignToken
iTunes Connect के आंकड़ों के पैरामीटर. ये पैरामीटर (`pt`, `at`, `ct`) ऐप स्टोर को पास किए जाते हैं.