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 पैरामीटर
setLink वह लिंक जिस पर क्लिक करने से आपका ऐप्लिकेशन खुलेगा. वह यूआरएल डालें जिसे आपका ऐप्लिकेशन मैनेज कर सकता है. आम तौर पर, यह ऐप्लिकेशन का कॉन्टेंट या पेलोड होता है. इससे ऐप्लिकेशन के हिसाब से लॉजिक शुरू होता है. जैसे, उपयोगकर्ता को कूपन क्रेडिट देना या वेलकम स्क्रीन दिखाना. यह लिंक सही फ़ॉर्मैट में होना चाहिए. साथ ही, इसे सही तरीके से यूआरएल-कोड में बदला गया हो. यह लिंक, एचटीटीपी या एचटीटीपीएस में से किसी एक का इस्तेमाल करता हो. यह कोई दूसरा डाइनैमिक लिंक नहीं होना चाहिए.
setDomainUriPrefix आपके डाइनैमिक लिंक का यूआरएल प्रीफ़िक्स, जो आपको Firebase कंसोल में मिल सकता है. किसी डाइनैमिक लिंक डोमेन के उदाहरण यहां दिए गए हैं:
https://example.com/link
https://example.page.link
Android के पैरामीटर
setFallbackUrl ऐप्लिकेशन इंस्टॉल न होने पर खोलने के लिए लिंक. ऐप्लिकेशन इंस्टॉल न होने पर, Play Store से ऐप्लिकेशन इंस्टॉल करने के अलावा, कुछ और करने के लिए यह जानकारी दें. जैसे, कॉन्टेंट का मोबाइल वेब वर्शन खोलना या अपने ऐप्लिकेशन का प्रमोशनल पेज दिखाना.
सेट कम से कम वर्शन आपके ऐप्लिकेशन के उस वर्शन का versionCode जो लिंक को खोल सकता है. अगर इंस्टॉल किया गया ऐप्लिकेशन पुराना वर्शन है, तो ऐप्लिकेशन को अपग्रेड करने के लिए उपयोगकर्ता को Play Store पर ले जाया जाता है.
IosParameters
setAppStoreId आपके ऐप्लिकेशन का ऐप स्टोर आईडी, जिसका इस्तेमाल ऐप्लिकेशन के इंस्टॉल न होने पर, उपयोगकर्ताओं को App Store पर भेजने के लिए किया जाता है
setFallbackUrl ऐप्लिकेशन इंस्टॉल न होने पर खुलने वाला लिंक. ऐप्लिकेशन इंस्टॉल न होने पर, ऐप्लिकेशन को ऐप स्टोर से इंस्टॉल करने के अलावा, कुछ और करने के लिए यह जानकारी दें. जैसे, कॉन्टेंट का मोबाइल वेब वर्शन खोलना या अपने ऐप्लिकेशन का प्रमोशनल पेज दिखाना.
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 के आंकड़े देने वाले पैरामीटर. इन पैरामीटर को Play Store पर भेजा जाता है और लिंक पेलोड में जोड़ा जाता है. इन पैरामीटर में ये शामिल हैं: (`utm_source`, `utm_medium`, `utm_campaign`, `utm_term`, `utm_content`).
ItunesConnectAnalyticsParameters
setProviderToken
setAffiliateToken
setCampaignToken
iTunes Connect के आंकड़े से जुड़े पैरामीटर. ये पैरामीटर (`pt`, `at`, `ct`) को App Store में पास किया जाता है.