Firebase डाइनैमिक लिंक बिल्डर एपीआई की मदद से, छोटे या लंबे डाइनैमिक लिंक बनाए जा सकते हैं. यह एपीआई एक लंबा डाइनैमिक लिंक या डाइनैमिक लिंक पैरामीटर वाला कोई ऑब्जेक्ट स्वीकार करता है और नीचे दिए गए उदाहरणों जैसे यूआरएल दिखाता है:
https://example.com/link/WXYZ https://example.page.link/WXYZ
Firebase और डाइनैमिक लिंक SDK टूल सेट अप करना
अपने Android ऐप्लिकेशन में डाइनैमिक लिंक बनाने से पहले, आपको Firebase SDK टूल शामिल करना होगा. अगर आपके ऐप्लिकेशन को डाइनैमिक लिंक पाने के लिए सेट अप किया गया है, तो इसका मतलब है कि आपने इन चरणों को पहले ही पूरा कर लिया है और अब इस सेक्शन को छोड़ा जा सकता है.
अगर आपने पहले से ऐसा नहीं किया है, तो अपने Android प्रोजेक्ट में Firebase जोड़ें.
अपना ऐप्लिकेशन रजिस्टर करते समय, अपनी SHA-1 साइनिंग कुंजी तय करें. अगर ऐप्लिकेशन लिंक का इस्तेमाल किया जा रहा है, तो अपनी SHA-256 कुंजी भी तय करें.
-
अपने मॉड्यूल (ऐप्लिकेशन-लेवल) की Gradle फ़ाइल (आम तौर पर
<project>/<app-module>/build.gradle.kts
या<project>/<app-module>/build.gradle
), Android के लिए, डाइनैमिक लिंक लाइब्रेरी के लिए डिपेंडेंसी जोड़ें. लाइब्रेरी वर्शन को कंट्रोल करने के लिए, Firebase Android BoM का इस्तेमाल करने का सुझाव दिया जाता है.डाइनैमिक लिंक के साथ बेहतर अनुभव पाने के लिए, हमारा सुझाव है कि अपने Firebase प्रोजेक्ट में Google Analytics चालू करें. साथ ही, अपने ऐप्लिकेशन में Google Analytics के लिए Firebase SDK टूल जोड़ें.
dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:33.1.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.0.2' }
- Firebase कंसोल में, डाइनैमिक लिंक सेक्शन खोलें.
-
अगर आपने पहले से ही सेवा की शर्तें स्वीकार नहीं की हैं और अपने डाइनैमिक लिंक के लिए डोमेन सेट नहीं किया है, तो कहे जाने पर ऐसा करें.
अगर आपके पास डाइनैमिक लिंक वाला डोमेन पहले से है, तो उसे नोट कर लें. प्रोग्राम के हिसाब से डाइनैमिक लिंक बनाते समय, आपको डाइनैमिक लिंक का डोमेन देना होगा.
- सुझाव: अपने डीप लिंक और फ़ॉलबैक लिंक में अनुमति वाले यूआरएल पैटर्न तय करें. ऐसा करके, उन पक्षों को डाइनैमिक लिंक बनाने से रोका जा सकता है जो आपके डोमेन से उन साइटों पर रीडायरेक्ट करते हैं जिन पर आपका कंट्रोल नहीं है. यूआरएल के खास पैटर्न को अनुमति देना देखें.
Firebase कंसोल का इस्तेमाल करना
अगर आपको टेस्टिंग के लिए या अपनी मार्केटिंग टीम के लिए एक डाइनैमिक लिंक जनरेट करना है, ताकि सोशल मीडिया पोस्ट जैसी चीज़ों में आसानी से लिंक बनाया जा सके, तो Firebase कंसोल पर जाकर मैन्युअल तरीके से लिंक जनरेट करने का सबसे आसान तरीका होगा. इसके लिए, सिलसिलेवार तरीके से दिए गए निर्देशों का पालन करें.
पैरामीटर से डाइनैमिक लिंक बनाना
डाइनैमिक लिंक बनाने के लिए, अपने बिल्डर के साथ एक नया DynamicLink
ऑब्जेक्ट बनाएं.
इसमें डाइनैमिक लिंक पैरामीटर को बिल्डर तरीकों से शामिल करें. इसके बाद, buildDynamicLink
या buildShortDynamicLink
पर कॉल करें.
यहां दिया गया एक छोटा सा उदाहरण, https://www.example.com/
के लिए एक लंबा डाइनैमिक लिंक बनाता है. यह लिंक, 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();
छोटा डाइनैमिक लिंक बनाने के लिए, इसी तरह 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 // ... } } });
डिफ़ॉल्ट रूप से, छोटे डाइनैमिक लिंक 17 वर्णों के लिंक सफ़िक्स के साथ जनरेट होते हैं. इस वजह से, हो सकता है कि कोई व्यक्ति किसी मान्य डाइनैमिक लिंक का अनुमान न लगा पाए. अगर आपके इस्तेमाल के उदाहरण में, किसी छोटे लिंक का सही अनुमान लगाने में कोई नुकसान नहीं होता है, तो शायद आप ऐसे सफ़िक्स जनरेट करना चाहें जो सिर्फ़ तब तक के हों, जब तक कि उनका यूनीक होना ज़रूरी हो. ऐसा करने के लिए, ShortDynamicLink.Suffix.SHORT
को buildShortDynamicLink
वाले तरीके से पास किया जा सकता है:
Kotlin+KTX
val shortLinkTask = Firebase.dynamicLinks.shortLinkAsync(ShortDynamicLink.Suffix.SHORT) { // Set parameters // ... }
Java
Task<ShortDynamicLink> shortLinkTask = FirebaseDynamicLinks.getInstance().createDynamicLink() // ... .buildShortDynamicLink(ShortDynamicLink.Suffix.SHORT); // ...
डाइनैमिक लिंक पैरामीटर
डाइनैमिक लिंक बिल्डर एपीआई का इस्तेमाल करके, काम करने वाले किसी भी पैरामीटर के साथ डाइनैमिक लिंक बनाए जा सकते हैं. ज़्यादा जानकारी के लिए, एपीआई का रेफ़रंस देखें.
नीचे दिए गए उदाहरण में, कई सामान्य पैरामीटर सेट वाला डाइनैमिक लिंक बनाया गया है:
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()
डाइनैमिक लिंक पैरामीटर, इन तरीकों से सेट किए जा सकते हैं:
DynamicLink पैरामीटर | |
---|---|
सेटलिंक |
वह लिंक खोलें जिस पर आपका ऐप्लिकेशन खुलेगा. वह यूआरएल बताएं जिसे आपका ऐप्लिकेशन मैनेज कर सके. आम तौर पर, ऐप्लिकेशन के कॉन्टेंट या पेलोड के हिसाब से ऐप्लिकेशन के हिसाब से लॉजिक किया जाता है. जैसे, लोगों को कूपन देना या वेलकम स्क्रीन दिखाना. यह लिंक, अच्छी तरह से फ़ॉर्मैट किया गया यूआरएल होना चाहिए. साथ ही, यूआरएल को सही तरीके से कोड में बदला गया होना चाहिए. साथ ही, इसमें एचटीटीपी या एचटीटीपीएस का इस्तेमाल किया गया हो, और यह कोई दूसरा डाइनैमिक लिंक नहीं होना चाहिए. |
सेटडोमेनयूरीप्रीफ़िक्स | आपका डाइनैमिक लिंक यूआरएल प्रीफ़िक्स, जो आपको Firebase कंसोल में मिल सकता है. डाइनैमिक लिंक वाला डोमेन, इन उदाहरणों जैसा दिखता है:
https://example.com/link https://example.page.link |
Android पैरामीटर | |
---|---|
setFallbackUrl | ऐप्लिकेशन इंस्टॉल न होने पर खुलने वाला लिंक. जब ऐप्लिकेशन इंस्टॉल न हो, तो Play Store से अपना ऐप्लिकेशन इंस्टॉल करने के अलावा कुछ और करने के लिए ऐसा करें. जैसे, कॉन्टेंट का मोबाइल वेब वर्शन खोलना या अपने ऐप्लिकेशन का प्रमोशन करने वाला पेज दिखाना. |
सेट कम से कमवर्शन | आपके ऐप्लिकेशन के उस कम से कम वर्शन का versionCode जो लिंक खोल सकता है. अगर इंस्टॉल किया गया ऐप्लिकेशन पुराना वर्शन है, तो उपयोगकर्ता को ऐप्लिकेशन अपग्रेड करने के लिए Play Store पर ले जाया जाता है. |
Ios पैरामीटर | |
---|---|
setAppStoreId | आपके ऐप्लिकेशन का App Store आईडी, जब ऐप्लिकेशन इंस्टॉल न हो, तब उपयोगकर्ताओं को App Store पर भेजने के लिए इस्तेमाल किया जाता है |
setFallbackUrl | ऐप्लिकेशन इंस्टॉल न होने पर खुलने वाला लिंक. जब ऐप्लिकेशन इंस्टॉल न हो, तो ऐप स्टोर से अपना ऐप्लिकेशन इंस्टॉल करने के बजाय कुछ और करने के लिए ऐसा करें. जैसे, कॉन्टेंट का मोबाइल वेब वर्शन खोलना या अपने ऐप्लिकेशन का प्रमोशन करने वाला पेज दिखाना. |
सेटकस्टमस्कीम | आपके ऐप्लिकेशन के कस्टम यूआरएल स्कीम में, अगर आपके ऐप्लिकेशन के बंडल आईडी से अलग कोई दूसरी स्कीम तय की गई है |
setIpadFallbackUrl | ऐप्लिकेशन इंस्टॉल न होने पर, iPad पर खुलने वाला लिंक. जब ऐप्लिकेशन इंस्टॉल न हो, तो ऐप स्टोर से अपना ऐप्लिकेशन इंस्टॉल करने के अलावा कुछ और करने के लिए ऐसा करें. जैसे, कॉन्टेंट का वेब वर्शन खोलना या अपने ऐप्लिकेशन का प्रमोशन करने वाला पेज दिखाना. |
setIpadbundleId | iOS ऐप्लिकेशन का बंडल आईडी, जिसे iPad पर लिंक खोलने के लिए इस्तेमाल किया जाना है. ऐप्लिकेशन, Firebase कंसोल के 'खास जानकारी' पेज से आपके प्रोजेक्ट से जुड़ा होना चाहिए. |
सेट कम से कमवर्शन | आपके ऐप्लिकेशन के उस कम से कम वर्शन का वर्शन नंबर जो लिंक खोल सकता है. आपके ऐप्लिकेशन को खोलने पर, यह फ़्लैग उसे पास कर दिया जाता है. यह तय करना ज़रूरी है कि ऐप्लिकेशन को इस पर क्या कार्रवाई करनी है. |
नेविगेशन की जानकारी वाले पैरामीटर | |
---|---|
setFordredirectEnabled | अगर इसे '1' पर सेट किया जाता है, तो डाइनैमिक लिंक के खुलने पर ऐप्लिकेशन की झलक दिखाने वाले पेज को छोड़कर, ऐप्लिकेशन या स्टोर पर रीडायरेक्ट करें. ऐप्लिकेशन में डाइनैमिक लिंक खोलने पर, ऐप्लिकेशन झलक पेज (डिफ़ॉल्ट रूप से चालू होता है) उपयोगकर्ताओं को सबसे सही डेस्टिनेशन पर भेज सकता है. हालांकि, अगर आपको उम्मीद है कि कोई डाइनैमिक लिंक सिर्फ़ उन ऐप्लिकेशन में खुलेगा जो इस पेज के बिना भी डाइनैमिक लिंक को खोल सकते हैं, तो उसे इस पैरामीटर की मदद से बंद किया जा सकता है. यह पैरामीटर सिर्फ़ iOS पर, डाइनैमिक लिंक के काम करने के तरीके पर असर डालेगा. |
SocialMetaTag पैरामीटर | |
---|---|
सेट का टाइटल | डाइनैमिक लिंक को सोशल मीडिया पर शेयर करने के दौरान इस्तेमाल किया जाने वाला टाइटल. |
सेट की जानकारी | डाइनैमिक लिंक को सोशल मीडिया पर शेयर करने के दौरान इस्तेमाल की जाने वाली जानकारी. |
setImageUrl | इस लिंक से जुड़ी इमेज का यूआरएल. इमेज कम से कम 300x200 पिक्सल और 300 केबी से कम की होनी चाहिए. |
GoogleAnalytics पैरामीटर | |
---|---|
सेटसोर्स setMedium setCampaign setTerm setContent |
Google Play Analytics के पैरामीटर. इन पैरामीटर
(utm_source , utm_medium ,
utm_campaign , utm_term , utm_content )
को Play Store पर पास किया जाता है. साथ ही, लिंक पेलोड में भी जोड़ा जाता है.
|
ItunesConnectAnalytics पैरामीटर | |
---|---|
setProviderToken setAffiliateToken setCampaignToken |
iTunes कनेक्ट के आंकड़ों के पैरामीटर. इन पैरामीटर (pt ,
at , ct ) को App Store को पास किया जाता है. |
लंबे डाइनैमिक लिंक को छोटा करें
लंबे डाइनैमिक लिंक को छोटा करने के लिए, अन्य बिल्डर की मदद से पैरामीटर सेट करने के बजाय, setLongLink
का इस्तेमाल करके डाइनैमिक लिंक का यूआरएल तय करें:
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 // ... } } });