Firebase Dynamic Links Builder API की मदद से, छोटे या बड़े 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:34.0.0")) // 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:23.0.0' }
- Firebase कंसोल में, Dynamic Links सेक्शन खोलें.
-
अगर आपने अब तक सेवा की शर्तें स्वीकार नहीं की हैं और अपने Dynamic Links के लिए कोई डोमेन सेट नहीं किया है, तो प्रॉम्प्ट मिलने पर ऐसा करें.
अगर आपके पास पहले से कोई Dynamic Links डोमेन है, तो उसे नोट कर लें. प्रोग्राम के हिसाब से Dynamic Links बनाते समय, आपको Dynamic Links डोमेन की जानकारी देनी होगी.
- इसका सुझाव दिया जाता है: डीप लिंक और फ़ॉलबैक लिंक में इस्तेमाल किए जा सकने वाले यूआरएल पैटर्न तय करें. ऐसा करने से, बिना अनुमति वाले पक्ष Dynamic Links नहीं बना पाएंगे. ये Dynamic Links, आपके डोमेन से उन साइटों पर रीडायरेक्ट करते हैं जिन्हें आपने कंट्रोल नहीं किया है. यूआरएल के खास पैटर्न के लिए अनुमति देना लेख पढ़ें.
Firebase कंसोल का इस्तेमाल करना
अगर आपको सिर्फ़ एक Dynamic Link जनरेट करना है, तो टेस्टिंग के लिए या अपनी मार्केटिंग टीम के लिए, ताकि वे आसानी से ऐसा लिंक बना सकें जिसका इस्तेमाल सोशल मीडिया पोस्ट जैसी किसी चीज़ में किया जा सके, तो सबसे आसान तरीका यह होगा कि आप Firebase कंसोल पर जाएं और चरण-दर-चरण दिए गए फ़ॉर्म को भरकर, मैन्युअल तरीके से एक लिंक बनाएं.
पैरामीटर से Dynamic Link बनाना
Dynamic Link बनाने के लिए, इसके बिल्डर के साथ एक नया DynamicLink
ऑब्जेक्ट बनाएं. साथ ही, बिल्डर के तरीकों का इस्तेमाल करके Dynamic Link पैरामीटर तय करें. इसके बाद, buildDynamicLink
या buildShortDynamicLink
पर कॉल करें.
नीचे दिए गए छोटे से उदाहरण में, एक लंबा Dynamic Link से https://www.example.com/
बनाया गया है. यह Android पर आपके Android ऐप्लिकेशन और iOS पर com.example.ios
ऐप्लिकेशन के साथ खुलता है:
Kotlin
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
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
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 बनाने के लिए, Dynamic Link Builder API का इस्तेमाल किया जा सकता है. इसके लिए, किसी भी ऐसे पैरामीटर का इस्तेमाल किया जा सकता है जो इस एपीआई के साथ काम करता हो.Dynamic Links ज़्यादा जानकारी के लिए, एपीआई रेफ़रंस देखें.
यहां दिए गए उदाहरण में, कई सामान्य पैरामीटर सेट करके Dynamic Link बनाया गया है:
Kotlin
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 पैरामीटर को इन तरीकों से सेट किया जा सकता है:
DynamicLink पैरामीटर | |
---|---|
setLink |
वह लिंक जिसे आपका ऐप्लिकेशन खोलेगा. ऐसा यूआरएल तय करें जिसे आपका ऐप्लिकेशन हैंडल कर सके. आम तौर पर, यह ऐप्लिकेशन का कॉन्टेंट या पेलोड होता है. इससे ऐप्लिकेशन से जुड़ा लॉजिक शुरू होता है. जैसे, उपयोगकर्ता को कूपन देना या वेलकम स्क्रीन दिखाना. यह लिंक, सही फ़ॉर्मैट वाला यूआरएल होना चाहिए. साथ ही, इसे सही तरीके से यूआरएल-कोड में बदला गया हो. इसमें एचटीटीपी या एचटीटीपीएस में से किसी एक का इस्तेमाल किया गया हो. साथ ही, यह कोई दूसरा डाइनैमिक लिंक नहीं होना चाहिए. |
setDomainUriPrefix | आपका Dynamic Link यूआरएल प्रीफ़िक्स, जिसे Firebase कंसोल में देखा जा सकता है. Dynamic Link डोमेन के उदाहरण यहां दिए गए हैं:
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 | iPad पर लिंक खोलने के लिए, iOS ऐप्लिकेशन का बंडल आईडी. ऐप्लिकेशन को Firebase कंसोल के होम पेज से अपने प्रोजेक्ट से कनेक्ट किया जाना चाहिए. |
setMinimumVersion | आपके ऐप्लिकेशन के उस सबसे पुराने वर्शन का वर्शन नंबर जो लिंक खोल सकता है. जब आपका ऐप्लिकेशन खोला जाता है, तब यह फ़्लैग उसे पास किया जाता है. आपके ऐप्लिकेशन को यह तय करना होता है कि इस फ़्लैग का क्या करना है. |
NavigationInfoParameters | |
---|---|
setForcedRedirectEnabled | अगर इसे '1' पर सेट किया जाता है, तो Dynamic Link खोलने पर ऐप्लिकेशन की झलक दिखाने वाले पेज को स्किप कर दिया जाता है. इसके बजाय, उपयोगकर्ता को ऐप्लिकेशन या स्टोर पर रीडायरेक्ट कर दिया जाता है. ऐप्लिकेशन की झलक दिखाने वाला पेज (डिफ़ॉल्ट रूप से चालू होता है) उपयोगकर्ताओं को सबसे सही डेस्टिनेशन पर ज़्यादा भरोसेमंद तरीके से भेज सकता है. ऐसा तब होता है, जब वे ऐप्लिकेशन में Dynamic Links खोलते हैं. हालांकि, अगर आपको Dynamic Links को सिर्फ़ उन ऐप्लिकेशन में खोलना है जो इस पेज के बिना भी Dynamic Links को भरोसेमंद तरीके से खोल सकते हैं, तो इस पैरामीटर का इस्तेमाल करके इसे बंद किया जा सकता है.Dynamic Link इस पैरामीटर का असर, iOS पर सिर्फ़ Dynamic Link के व्यवहार पर पड़ेगा. |
SocialMetaTagParameters | |
---|---|
setTitle | सोशल पोस्ट में Dynamic Link को शेयर करते समय इस्तेमाल किया जाने वाला टाइटल. |
setDescription | सोशल मीडिया पोस्ट में Dynamic Link शेयर करते समय इस्तेमाल की जाने वाली जानकारी. |
setImageUrl | इस लिंक से जुड़ी इमेज का यूआरएल. इमेज का साइज़ कम से कम 300x200 पिक्सल और 300 केबी से कम होना चाहिए. |
GoogleAnalyticsParameters | |
---|---|
setSource setMedium setCampaign setTerm setContent |
Google Play के आंकड़ों से जुड़े पैरामीटर. ये पैरामीटर (utm_source , utm_medium , utm_campaign , utm_term , utm_content ) Play Store को भी पास किए जाते हैं. साथ ही, इन्हें लिंक के पेलोड में भी जोड़ा जाता है.
|
ItunesConnectAnalyticsParameters | |
---|---|
setProviderToken setAffiliateToken setCampaignToken |
iTunes Connect के आंकड़ों के पैरामीटर. ये पैरामीटर (pt ,
at , ct ) App Store को पास किए जाते हैं. |
लंबी अवधि के Dynamic Link को छोटा करना
लंबे Dynamic Link को छोटा करने के लिए, Dynamic Link का यूआरएल तय करें. इसके लिए, पैरामीटर सेट करने के अन्य तरीकों के बजाय, setLongLink
का इस्तेमाल करें:
Kotlin
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 // ... } } });