Firebase Dynamic Links बिल्डर एपीआई की मदद से, छोटे या लंबे Dynamic Links बनाए जा सकते हैं. यह एपीआई, लंबे Dynamic Link या Dynamic Link पैरामीटर वाले ऑब्जेक्ट को स्वीकार करता है. साथ ही, यह इन उदाहरणों की तरह यूआरएल दिखाता है:
https://example.com/link/WXYZ https://example.page.link/WXYZ
Firebase और Dynamic Links SDK टूल सेट अप करें
अपने Android ऐप्लिकेशन में Dynamic Links बनाने से पहले, आपको Firebase SDK टूल शामिल करना होगा. अगर आपका ऐप्लिकेशन Dynamic Links पाने के लिए सेट अप है, तो आपने ये चरण पहले ही पूरे कर लिए हैं और इस सेक्शन को छोड़ा जा सकता है.
अगर आपने पहले से ऐसा नहीं किया है, तो अपने Android प्रोजेक्ट में Firebase जोड़ें.
अपना ऐप्लिकेशन रजिस्टर करते समय, SHA-1 साइनिंग पासकोड डालें. अगर आपने ऐप्लिकेशन लिंक का इस्तेमाल किया है, तो अपनी SHA-256 पासकोड भी डालें.
-
अपने मॉड्यूल (ऐप्लिकेशन-लेवल) की Gradle फ़ाइल (आम तौर पर,
<project>/<app-module>/build.gradle.kts
या<project>/<app-module>/build.gradle
) में, Android के लिए Dynamic Links लाइब्रेरी के लिए डिपेंडेंसी जोड़ें. लाइब्रेरी के वर्शन को कंट्रोल करने के लिए, हमारा सुझाव है कि आप Firebase Android BoM का इस्तेमाल करें.Dynamic Links के साथ बेहतर अनुभव पाने के लिए, हमारा सुझाव है कि आप अपने Firebase प्रोजेक्ट में Google Analytics को चालू करें. साथ ही, अपने ऐप्लिकेशन में Google Analytics के लिए Firebase SDK टूल जोड़ें.
dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:33.5.1")) // Add the dependencies for the Dynamic Links and Analytics libraries // When using the BoM, you don't specify versions in Firebase library dependencies implementation 'com.google.firebase:firebase-dynamic-links' implementation 'com.google.firebase:firebase-analytics' }
Firebase Android BoM का इस्तेमाल करने से, आपका ऐप्लिकेशन हमेशा Firebase की Android लाइब्रेरी के साथ काम करने वाले वर्शन का इस्तेमाल करेगा.
(विकल्प) BoM का इस्तेमाल किए बिना Firebase लाइब्रेरी की डिपेंडेंसी जोड़ें
अगर Firebase BoM का इस्तेमाल नहीं किया जाता है, तो आपको हर Firebase लाइब्रेरी के वर्शन की जानकारी, उसकी डिपेंडेंसी लाइन में देनी होगी.
ध्यान दें कि अगर आपके ऐप्लिकेशन में एक से ज़्यादा Firebase लाइब्रेरी का इस्तेमाल किया जाता है, तो हमारा सुझाव है कि आप लाइब्रेरी के वर्शन मैनेज करने के लिए BoM का इस्तेमाल करें. इससे यह पक्का होता है कि सभी वर्शन काम करते हों.
dependencies { // Add the dependencies for the Dynamic Links and Analytics libraries // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation 'com.google.firebase:firebase-dynamic-links:22.1.0' implementation 'com.google.firebase:firebase-analytics:22.1.2' }
- Firebase कंसोल में, Dynamic Links सेक्शन खोलें.
-
अगर आपने पहले से सेवा की शर्तें स्वीकार नहीं की हैं और अपने Dynamic Links के लिए कोई डोमेन सेट किया है, तो निर्देश मिलने पर ऐसा करें.
अगर आपके पास पहले से कोई Dynamic Links डोमेन है, तो उसका ध्यान रखें. प्रोग्राम के हिसाब से Dynamic Links बनाते समय, आपको Dynamic Links डोमेन देना होगा.
- सुझाव: आपके डीप लिंक और फ़ॉलबैक लिंक में इस्तेमाल किए जा सकने वाले यूआरएल पैटर्न तय करें. ऐसा करने से, आपके पास बिना अनुमति वाले पक्षों को Dynamic Links बनाने से रोकने का विकल्प होता है. ये Dynamic Links, आपके डोमेन से उन साइटों पर रीडायरेक्ट करते हैं जिन पर आपका कंट्रोल नहीं होता. खास यूआरएल पैटर्न को अनुमति दें देखें.
Firebase कंसोल का इस्तेमाल करना
अगर आपको टेस्टिंग के मकसद से या अपनी मार्केटिंग टीम के लिए, आसानी से ऐसा लिंक बनाना है जिसका इस्तेमाल सोशल मीडिया पोस्ट जैसी किसी चीज़ में किया जा सके, तो सबसे आसान तरीका यह है कि आप Firebase कंसोल पर जाएं और सिलसिलेवार निर्देशों वाले फ़ॉर्म का पालन करके, मैन्युअल तरीके से एक Dynamic Link जनरेट करें.
पैरामीटर से Dynamic Link बनाना
Dynamic Link बनाने के लिए, इसके बिल्डर की मदद से नया DynamicLink
ऑब्जेक्ट बनाएं. साथ ही, बिल्डर के तरीकों की मदद से Dynamic Link पैरामीटर तय करें. इसके बाद, buildDynamicLink
या buildShortDynamicLink
पर कॉल करें.
यहां दिए गए छोटे से उदाहरण से, एक लंबा Dynamic Link से
https://www.example.com/
जनरेट होता है, जो Android पर आपके Android ऐप्लिकेशन और iOS पर ऐप्लिकेशन com.example.ios
पर खुलता है:
Kotlin+KTX
val dynamicLink = Firebase.dynamicLinks.dynamicLink { link = Uri.parse("https://www.example.com/") domainUriPrefix = "https://example.page.link" // Open links with this app on Android androidParameters { } // Open links with com.example.ios on iOS iosParameters("com.example.ios") { } } val dynamicLinkUri = dynamicLink.uri
Java
DynamicLink dynamicLink = FirebaseDynamicLinks.getInstance().createDynamicLink() .setLink(Uri.parse("https://www.example.com/")) .setDomainUriPrefix("https://example.page.link") // Open links with this app on Android .setAndroidParameters(new DynamicLink.AndroidParameters.Builder().build()) // Open links with com.example.ios on iOS .setIosParameters(new DynamicLink.IosParameters.Builder("com.example.ios").build()) .buildDynamicLink(); Uri dynamicLinkUri = dynamicLink.getUri();
छोटा Dynamic Link बनाने के लिए, उसी तरह से DynamicLink
बनाएं और फिर buildShortDynamicLink
को कॉल करें. छोटा लिंक बनाने के लिए,
नेटवर्क कॉल की ज़रूरत होती है. इसलिए,
buildShortDynamicLink
, सीधे लिंक को दिखाने के बजाय Task
दिखाता है. इससे, अनुरोध पूरा होने पर
छोटा लिंक उपलब्ध हो जाता है. उदाहरण के लिए:
Kotlin+KTX
val shortLinkTask = Firebase.dynamicLinks.shortLinkAsync { link = Uri.parse("https://www.example.com/") domainUriPrefix = "https://example.page.link" // Set parameters // ... }.addOnSuccessListener { (shortLink, flowchartLink) -> // You'll need to import com.google.firebase.dynamiclinks.component1 and // com.google.firebase.dynamiclinks.component2 // Short link created processShortLink(shortLink, flowchartLink) }.addOnFailureListener { // Error // ... }
Java
Task<ShortDynamicLink> shortLinkTask = FirebaseDynamicLinks.getInstance().createDynamicLink() .setLink(Uri.parse("https://www.example.com/")) .setDomainUriPrefix("https://example.page.link") // Set parameters // ... .buildShortDynamicLink() .addOnCompleteListener(this, new OnCompleteListener<ShortDynamicLink>() { @Override public void onComplete(@NonNull Task<ShortDynamicLink> task) { if (task.isSuccessful()) { // Short link created Uri shortLink = task.getResult().getShortLink(); Uri flowchartLink = task.getResult().getPreviewLink(); } else { // Error // ... } } });
डिफ़ॉल्ट रूप से, छोटे Dynamic Links में 17 वर्णों के लिंक के सफ़िक्स जनरेट होते हैं. इस वजह से, सही Dynamic Link का अनुमान लगाना मुश्किल हो जाता है. अगर आपके इस्तेमाल के उदाहरण में,
छोटे लिंक का अनुमान लगाने में किसी को कोई नुकसान नहीं हुआ है,
तो हो सकता है कि आप सिर्फ़ उन सफ़िक्स को जनरेट करना चाहें जो ज़रूरत के हिसाब से यूनीक हों.
ऐसा करने के लिए, buildShortDynamicLink
तरीके में ShortDynamicLink.Suffix.SHORT
को पास करें:
Kotlin+KTX
val shortLinkTask = Firebase.dynamicLinks.shortLinkAsync(ShortDynamicLink.Suffix.SHORT) { // Set parameters // ... }
Java
Task<ShortDynamicLink> shortLinkTask = FirebaseDynamicLinks.getInstance().createDynamicLink() // ... .buildShortDynamicLink(ShortDynamicLink.Suffix.SHORT); // ...
Dynamic Link पैरामीटर
Dynamic Link Builder API का इस्तेमाल करके, इस्तेमाल किए जा सकने वाले किसी भी पैरामीटर के साथ Dynamic Links बनाया जा सकता है. ज़्यादा जानकारी के लिए, एपीआई का संदर्भ देखें.
इस उदाहरण से, कई सामान्य पैरामीटर के साथ Dynamic Link बनाया जाता है:
Kotlin+KTX
val dynamicLink = Firebase.dynamicLinks.dynamicLink { // or Firebase.dynamicLinks.shortLinkAsync link = Uri.parse("https://www.example.com/") domainUriPrefix = "https://example.page.link" androidParameters("com.example.android") { minimumVersion = 125 } iosParameters("com.example.ios") { appStoreId = "123456789" minimumVersion = "1.0.1" } googleAnalyticsParameters { source = "orkut" medium = "social" campaign = "example-promo" } itunesConnectAnalyticsParameters { providerToken = "123456" campaignToken = "example-promo" } socialMetaTagParameters { title = "Example of a Dynamic Link" description = "This link works whether the app is installed or not!" } }
Java
DynamicLink dynamicLink = FirebaseDynamicLinks.getInstance().createDynamicLink() .setLink(Uri.parse("https://www.example.com/")) .setDomainUriPrefix("https://example.page.link") .setAndroidParameters( new DynamicLink.AndroidParameters.Builder("com.example.android") .setMinimumVersion(125) .build()) .setIosParameters( new DynamicLink.IosParameters.Builder("com.example.ios") .setAppStoreId("123456789") .setMinimumVersion("1.0.1") .build()) .setGoogleAnalyticsParameters( new DynamicLink.GoogleAnalyticsParameters.Builder() .setSource("orkut") .setMedium("social") .setCampaign("example-promo") .build()) .setItunesConnectAnalyticsParameters( new DynamicLink.ItunesConnectAnalyticsParameters.Builder() .setProviderToken("123456") .setCampaignToken("example-promo") .build()) .setSocialMetaTagParameters( new DynamicLink.SocialMetaTagParameters.Builder() .setTitle("Example of a Dynamic Link") .setDescription("This link works whether the app is installed or not!") .build()) .buildDynamicLink(); // Or buildShortDynamicLink()
Dynamic Link पैरामीटर को सेट करने के लिए, इन तरीकों का इस्तेमाल करें:
डाइनैमिक लिंक पैरामीटर | |
---|---|
setLink |
वह लिंक जिस पर क्लिक करने से आपका ऐप्लिकेशन खुलेगा. वह यूआरएल डालें जिसे आपका ऐप्लिकेशन मैनेज कर सकता है. आम तौर पर, यह ऐप्लिकेशन के कॉन्टेंट या पेलोड को मैनेज करता है. इससे ऐप्लिकेशन के लिए खास लॉजिक दिया जाता है, जैसे कि उपयोगकर्ता को कूपन से क्रेडिट देना या वेलकम स्क्रीन दिखाना. यह लिंक सही फ़ॉर्मैट में होना चाहिए. साथ ही, यह यूआरएल कोड में बदला गया होना चाहिए. इसमें एचटीटीपी या एचटीटीपीएस का इस्तेमाल किया जाना चाहिए. यह कोई दूसरा डाइनैमिक लिंक नहीं होना चाहिए. |
सेटडोमेनयूरीप्रीफ़िक्स | आपका Dynamic Link यूआरएल प्रीफ़िक्स, जो आपको Firebase कंसोल में मिल सकता है. यहां
Dynamic Link डोमेन के कुछ उदाहरण दिए गए हैं:
https://example.com/link https://example.page.link |
Android के पैरामीटर | |
---|---|
setFallbackUrl | ऐप्लिकेशन इंस्टॉल न होने पर खुलने वाला लिंक. इसके बारे में बताएं कि यह ऐप्लिकेशन इंस्टॉल न होने पर, Play Store से आपका ऐप्लिकेशन इंस्टॉल करने के अलावा कुछ और करेगा. जैसे, कॉन्टेंट का मोबाइल वेब वर्शन खोलना या अपने ऐप्लिकेशन का प्रमोशन करने वाला पेज दिखाना. |
सेट कम से कम वर्शन | आपके ऐप्लिकेशन के कम से कम वर्शन का versionCode , जो लिंक को खोल सकता हो. अगर इंस्टॉल किया गया ऐप्लिकेशन पुराना वर्शन है, तो उपयोगकर्ता को ऐप्लिकेशन अपग्रेड करने के लिए Play Store पर ले जाया जाता है. |
Ios पैरामीटर | |
---|---|
setAppStoreId | आपके ऐप्लिकेशन का ऐप स्टोर आईडी, जिसका इस्तेमाल ऐप्लिकेशन के इंस्टॉल न होने पर, उपयोगकर्ताओं को App Store पर भेजने के लिए किया जाता है |
setFallbackUrl | ऐप्लिकेशन इंस्टॉल न होने पर खोलने के लिए लिंक. ऐप्लिकेशन इंस्टॉल न होने पर, App Store से ऐप्लिकेशन इंस्टॉल करने के अलावा, कुछ और करने के लिए यह जानकारी दें. जैसे, कॉन्टेंट का मोबाइल वेब वर्शन खोलना या अपने ऐप्लिकेशन का प्रमोशनल पेज दिखाना. |
setCustomScheme | आपके ऐप्लिकेशन का कस्टम यूआरएल स्कीम, अगर इसे आपके ऐप्लिकेशन के बंडल आईडी के अलावा किसी और के तौर पर तय किया गया है |
setIpadFallbackUrl | iPad पर, ऐप्लिकेशन इंस्टॉल न होने पर खोलने के लिए लिंक. ऐप्लिकेशन के इंस्टॉल न होने पर, इसे App Store से अपना ऐप्लिकेशन इंस्टॉल करने के अलावा कोई और कार्रवाई करने के लिए कहें. जैसे, कॉन्टेंट का वेब वर्शन खोलना या अपने ऐप्लिकेशन का प्रमोशन करने वाला पेज दिखाना. |
setIpadBundleId | iOS ऐप्लिकेशन का बंडल आईडी, जिसका इस्तेमाल करके iPad पर लिंक खोला जा सकता है. ऐप्लिकेशन, Firebase कंसोल के खास जानकारी देने वाले पेज से आपके प्रोजेक्ट से कनेक्ट होना चाहिए. |
setMinimumVersion | आपके ऐप्लिकेशन के उस वर्शन का वर्शन नंबर जो लिंक को खोल सकता है. आपके ऐप्लिकेशन को खोले जाने पर, यह फ़्लैग आपके पास भेजा जाता है. इसके बाद, आपके ऐप्लिकेशन को यह तय करना होता है कि उसका क्या करना है. |
नेविगेशनजानकारी पैरामीटर | |
---|---|
setForcedRedirectEnabled | अगर इसकी वैल्यू '1' पर सेट है, तो Dynamic Link खोलने पर, ऐप्लिकेशन की झलक वाला पेज स्किप करें. इसके बजाय, ऐप्लिकेशन या स्टोर पर रीडायरेक्ट करें. ऐप्लिकेशन की झलक दिखाने वाला पेज (डिफ़ॉल्ट रूप से चालू होता है), उपयोगकर्ताओं को ऐप्लिकेशन में Dynamic Links खोलने पर, सबसे सही डेस्टिनेशन पर भेज सकता है. हालांकि, अगर आपको Dynamic Link को सिर्फ़ उन ऐप्लिकेशन में खोलना है जो इस पेज के बिना भी Dynamic Links को भरोसेमंद तरीके से खोल सकते हैं, तो इस पैरामीटर की मदद से इसे बंद किया जा सकता है. यह पैरामीटर सिर्फ़ iOS पर Dynamic Link के काम करने के तरीके पर असर डालेगा. |
SocialMetaTagपैरामीटर | |
---|---|
सेट टाइटल | सोशल मीडिया पर पोस्ट में Dynamic Link शेयर होने पर इस्तेमाल किया जाने वाला टाइटल. |
setDescription | सोशल मीडिया पर पोस्ट में Dynamic Link शेयर करने के दौरान इस्तेमाल किया जाने वाला ब्यौरा. |
सेट चित्र Url | इस लिंक से जुड़ी इमेज का यूआरएल. इमेज का साइज़ कम से कम 300x200 पिक्सल और 300 केबी से कम होना चाहिए. |
GoogleAnalyticsParameters | |
---|---|
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 को भेजे जाते हैं. |
लंबे Dynamic Link को छोटा करें
लंबे Dynamic Link को छोटा करने के लिए, बिल्डर के अन्य तरीकों के साथ पैरामीटर सेट करने के बजाय, setLongLink
का इस्तेमाल करके Dynamic Link के यूआरएल की जानकारी दें:
Kotlin+KTX
val shortLinkTask = Firebase.dynamicLinks.shortLinkAsync { longLink = Uri.parse( "https://example.page.link/?link=" + "https://www.example.com/&apn=com.example.android&ibn=com.example.ios", ) }.addOnSuccessListener { (shortLink, flowChartLink) -> // You'll need to import com.google.firebase.dynamiclinks.component1 and // com.google.firebase.dynamiclinks.component2 // Short link created processShortLink(shortLink, flowChartLink) }.addOnFailureListener { // Error // ... }
Java
Task<ShortDynamicLink> shortLinkTask = FirebaseDynamicLinks.getInstance().createDynamicLink() .setLongLink(Uri.parse("https://example.page.link/?link=https://www.example.com/&apn=com.example.android&ibn=com.example.ios")) .buildShortDynamicLink() .addOnCompleteListener(this, new OnCompleteListener<ShortDynamicLink>() { @Override public void onComplete(@NonNull Task<ShortDynamicLink> task) { if (task.isSuccessful()) { // Short link created Uri shortLink = task.getResult().getShortLink(); Uri flowchartLink = task.getResult().getPreviewLink(); } else { // Error // ... } } });