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
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 के आंकड़े देने वाले पैरामीटर. इन पैरामीटर को Play Store पर भेजा जाता है और लिंक पेलोड में जोड़ा जाता है. इन पैरामीटर में ये शामिल हैं: (`utm_source`, `utm_medium`, `utm_campaign`, `utm_term`, `utm_content`).
ItunesConnectAnalyticsParameters
setProviderToken
setAffiliateToken
setCampaignToken
iTunes Connect के आंकड़े से जुड़े पैरामीटर. ये पैरामीटर (`pt`, `at`, `ct`), App Store को भेजे जाते हैं.