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);

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

डाइनैमिक लिंक पैरामीटर
लिंक सेट करें वह लिंक जिससे आपका ऐप्लिकेशन खुलेगा. वह यूआरएल बताएं जिसे आपका ऐप्लिकेशन मैनेज कर सकता है. आम तौर पर, यह ऐप्लिकेशन का कॉन्टेंट या पेलोड होता है. यह यूआरएल, ऐप्लिकेशन के लिए खास लॉजिक तैयार करता है (जैसे कि उपयोगकर्ता को कूपन से क्रेडिट देना या वेलकम स्क्रीन दिखाना). यह लिंक एक अच्छी तरह से फ़ॉर्मैट किया गया यूआरएल होना चाहिए, यूआरएल को सही तरीके से कोड में बदला जाना चाहिए, एचटीटीपी या एचटीटीपीएस का इस्तेमाल करना चाहिए, और यह कोई दूसरा डाइनैमिक लिंक नहीं होना चाहिए.
सेटडोमेनयूरीप्रीफ़िक्स आपका डाइनैमिक लिंक यूआरएल प्रीफ़िक्स, जो आपको Firebase कंसोल में मिलेगा. कोई डाइनैमिक लिंक डोमेन, इन उदाहरणों की तरह दिखता है:
https://example.com/link
https://example.page.link
Android के पैरामीटर
setFallbackUrl ऐप्लिकेशन इंस्टॉल न होने पर खुलने वाला लिंक. ऐप्लिकेशन के इंस्टॉल न होने पर, Play Store से अपना ऐप्लिकेशन इंस्टॉल करने के अलावा, कुछ और करने के लिए यह बताएं. जैसे, कॉन्टेंट का मोबाइल वेब वर्शन खोलना या अपने ऐप्लिकेशन का प्रमोशन करने वाला पेज दिखाना.
सेट कम से कम वर्शन आपके ऐप्लिकेशन के उस वर्शन का versionCode जो लिंक को खोल सकता है. अगर इंस्टॉल किया गया ऐप्लिकेशन पुराना वर्शन है, तो उपयोगकर्ता को ऐप्लिकेशन अपग्रेड करने के लिए Play Store पर ले जाया जाता है.
Ios पैरामीटर
setAppStoreId आपके ऐप्लिकेशन का ऐप स्टोर आईडी, जिसका इस्तेमाल ऐप्लिकेशन के इंस्टॉल न होने पर, उपयोगकर्ताओं को App Store पर भेजने के लिए किया जाता है
setFallbackUrl ऐप्लिकेशन इंस्टॉल न होने पर खुलने वाला लिंक. ऐप्लिकेशन के इंस्टॉल न होने पर, App Store से अपना ऐप्लिकेशन इंस्टॉल करने के बजाय, कोई दूसरा काम करने के लिए बताएं. जैसे, कॉन्टेंट का मोबाइल वेब वर्शन खोलना या अपने ऐप्लिकेशन का प्रमोशन करने वाला पेज दिखाना.
सेट कस्टम स्कीम आपके ऐप्लिकेशन की कस्टम यूआरएल स्कीम, अगर उसे आपके ऐप्लिकेशन के बंडल आईडी के अलावा कोई और बताया गया हो
setIpadFallbackUrl iPad पर, ऐप्लिकेशन इंस्टॉल न होने पर खोलने के लिए लिंक. इसके लिए, ऐप्लिकेशन के इंस्टॉल न होने पर, App Store से अपना ऐप्लिकेशन इंस्टॉल करने के अलावा, कोई और काम करने के लिए कहें. उदाहरण के लिए, कॉन्टेंट का वेब वर्शन खोलना या अपने ऐप्लिकेशन का प्रमोशन करने वाला पेज दिखाना.
setIpadBundleId iPad पर इस्तेमाल करने के लिए, iOS ऐप्लिकेशन का बंडल आईडी. ऐप्लिकेशन को Firebase कंसोल के खास जानकारी देने वाले पेज से आपके प्रोजेक्ट से कनेक्ट किया जाना चाहिए.
सेट कम से कम वर्शन आपके ऐप्लिकेशन के उस वर्शन का वर्शन नंबर जो लिंक को खोल सकता है. आपके ऐप्लिकेशन को खोले जाने पर, यह फ़्लैग आपके पास भेजा जाता है. इसके बाद, आपके ऐप्लिकेशन को यह तय करना होता है कि इस फ़्लैग का क्या करना है.
नेविगेशनजानकारी पैरामीटर
setForcedredirectEnabled अगर यह नीति '1' पर सेट है, तो डाइनैमिक लिंक के खुलने पर, ऐप्लिकेशन की झलक दिखाने वाले पेज को छोड़कर आगे बढ़ें. इसके बजाय, उपयोगकर्ताओं को ऐप्लिकेशन या स्टोर पर रीडायरेक्ट करें. ऐप्लिकेशन में डाइनैमिक लिंक खोलने पर, ऐप्लिकेशन की झलक दिखाने वाला पेज (डिफ़ॉल्ट रूप से चालू होता है), उपयोगकर्ताओं को सबसे सही डेस्टिनेशन पर भेज सकता है. हालांकि, अगर आपको लगता है कि कोई डाइनैमिक लिंक सिर्फ़ उन ऐप्लिकेशन में खुलेगा जो इस पेज के बिना, डाइनैमिक लिंक को भरोसेमंद तरीके से खोल सकें, तो इस पैरामीटर की मदद से उसे बंद किया जा सकता है. यह पैरामीटर सिर्फ़ iOS पर डाइनैमिक लिंक के काम करने के तरीके पर असर डालेगा.
SocialMetaTagपैरामीटर
सेट टाइटल सोशल मीडिया पर पोस्ट में डाइनैमिक लिंक शेयर करने के दौरान इस्तेमाल किया जाने वाला टाइटल.
जानकारी सेट करें सोशल मीडिया पर पोस्ट में डाइनैमिक लिंक शेयर करने के दौरान इस्तेमाल किया जाने वाला ब्यौरा.
सेट चित्र Url इस लिंक से जुड़ी इमेज का यूआरएल. इमेज का साइज़ कम से कम 300x200 पिक्सल और कम से कम 300 केबी होना चाहिए.
GoogleAnalyticsपैरामीटर
setSource
setMedium
setCampaign
setTerm
setContent
Google Play के आंकड़ों के पैरामीटर. ये पैरामीटर (`utm_source`, `utm_medium`, `utm_campaign`, `utm_term`, `utm_content`) Play Store पर पास किए जाते हैं और लिंक पेलोड में भी जोड़े जाते हैं.
ItunesConnectAnalytics पैरामीटर
setProviderToken
setAffiliateToken
setCampaignToken
iTunes Connect के आंकड़ों के पैरामीटर. ये पैरामीटर (`pt`, `at`, `ct`) को App Store में पास किया जाता है.