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 वर्णों के सफ़िक्स वाले लंबे लिंक बनाने चाहिए. इससे किसी व्यक्ति के लिए, मान्य डाइनैमिक लिंक का अनुमान लगाना काफ़ी मुश्किल हो जाता है. ऐसा करने के लिए, ShortDynamicLinkType.unguessable को buildShortLink() तरीके में पास करें:

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 पैरामीटर
लिंक सेट करें वह लिंक जिससे आपका ऐप्लिकेशन खुलेगा. वह यूआरएल बताएं जिसे आपका ऐप्लिकेशन मैनेज कर सकता है. आम तौर पर, यह ऐप्लिकेशन के कॉन्टेंट या पेलोड को मैनेज करता है. यह यूआरएल, ऐप्लिकेशन के लिए खास लॉजिक तैयार करता है (जैसे कि उपयोगकर्ता को कूपन से क्रेडिट देना या वेलकम स्क्रीन दिखाना). यह लिंक सही फ़ॉर्मैट में होना चाहिए. साथ ही, इसे सही तरीके से यूआरएल-कोड में बदला गया हो. यह लिंक, एचटीटीपी या एचटीटीपीएस में से किसी एक का इस्तेमाल करता हो. यह कोई दूसरा डाइनैमिक लिंक नहीं होना चाहिए.
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 ऐप्लिकेशन इंस्टॉल न होने पर खुलने वाला लिंक. ऐप्लिकेशन इंस्टॉल न होने पर, ऐप्लिकेशन को ऐप स्टोर से इंस्टॉल करने के अलावा, कुछ और करने के लिए यह जानकारी दें. जैसे, कॉन्टेंट का मोबाइल वेब वर्शन खोलना या अपने ऐप्लिकेशन का प्रमोशनल पेज दिखाना.
सेट कस्टम स्कीम आपके ऐप्लिकेशन की कस्टम यूआरएल स्कीम, अगर उसे आपके ऐप्लिकेशन के बंडल आईडी के बजाय कोई और बताया गया हो
setIpadFallbackUrl जब ऐप्लिकेशन इंस्टॉल न हो, तब iPad पर खोलने के लिए लिंक. इसके लिए, ऐप्लिकेशन के इंस्टॉल न होने पर, App Store से अपना ऐप्लिकेशन इंस्टॉल करने के अलावा, कोई और काम करें. जैसे, कॉन्टेंट का वेब वर्शन खोलना या अपने ऐप्लिकेशन का प्रमोशन करने वाला पेज दिखाना.
setIpadBundleId iOS ऐप्लिकेशन का बंडल आईडी, जिसका इस्तेमाल करके iPad पर लिंक खोला जा सकता है. ऐप्लिकेशन को Firebase कंसोल के होम पेज से, अपने प्रोजेक्ट से कनेक्ट करना होगा.
सेट कम से कम वर्शन आपके ऐप्लिकेशन के उस वर्शन का वर्शन नंबर जो लिंक को खोल सकता है. यह फ़्लैग, ऐप्लिकेशन के खुलने पर उसे भेजा जाता है. इसके बाद, ऐप्लिकेशन को यह तय करना होता है कि इस फ़्लैग का क्या करना है.
नेविगेशनजानकारी पैरामीटर
setForcedRedirectEnabled अगर इसकी वैल्यू '1' पर सेट है, तो डाइनैमिक लिंक खोलने पर, ऐप्लिकेशन की झलक वाला पेज स्किप करें और इसके बजाय, ऐप्लिकेशन या स्टोर पर रीडायरेक्ट करें. ऐप्लिकेशन की झलक दिखाने वाला पेज (डिफ़ॉल्ट रूप से चालू होता है), ऐप्लिकेशन में डाइनैमिक लिंक खोलने पर उपयोगकर्ताओं को सबसे सही डेस्टिनेशन पर भेज सकता है. हालांकि, अगर आपको लगता है कि डाइनैमिक लिंक सिर्फ़ उन ऐप्लिकेशन में खोले जाने चाहिए जो इस पेज के बिना भी डाइनैमिक लिंक को भरोसेमंद तरीके से खोल सकते हैं, तो इस पैरामीटर की मदद से इसे बंद किया जा सकता है. इस पैरामीटर का असर, सिर्फ़ iOS पर डाइनैमिक लिंक के व्यवहार पर पड़ेगा.
SocialMetaTagParameters
सेट टाइटल सोशल मीडिया पोस्ट में डाइनैमिक लिंक शेयर करते समय इस्तेमाल किया जाने वाला टाइटल.
setDescription सोशल मीडिया पर पोस्ट में डाइनैमिक लिंक शेयर करने के दौरान इस्तेमाल किया जाने वाला ब्यौरा.
setImageUrl इस लिंक से जुड़ी इमेज का यूआरएल. इमेज का साइज़ कम से कम 300x200 पिक्सल और कम से कम 300 केबी होना चाहिए.
GoogleAnalyticsParameters
setSource
setMedium
setCampaign
setTerm
setContent
Google Play के आंकड़े देने वाले पैरामीटर. इन पैरामीटर को Play Store पर भेजा जाता है और लिंक पेलोड में जोड़ा जाता है. इन पैरामीटर में ये शामिल हैं: (`utm_source`, `utm_medium`, `utm_campaign`, `utm_term`, `utm_content`).
ItunesConnectAnalyticsParameters
setProviderToken
setAffiliateToken
setCampaignToken
iTunes Connect के आंकड़े से जुड़े पैरामीटर. ये पैरामीटर (`pt`, `at`, `ct`), App Store को भेजे जाते हैं.