iOS पर डाइनैमिक लिंक बनाना

Firebase Dynamic Links बिल्डर एपीआई की मदद से, छोटे या लंबे Dynamic Links बनाए जा सकते हैं. यह एपीआई, लंबा Dynamic Link या Dynamic Link पैरामीटर वाला ऑब्जेक्ट स्वीकार करता है. साथ ही, यह नीचे दिए गए उदाहरणों जैसे यूआरएल दिखाता है:

https://example.com/link/WXYZ
https://example.page.link/WXYZ

ज़रूरी शर्तें

शुरू करने से पहले, Firebase को अपने iOS प्रोजेक्ट में जोड़ना न भूलें.

Firebase की डिपेंडेंसी इंस्टॉल और मैनेज करने के लिए, Swift Package Manager का इस्तेमाल करें.

अपने Apple प्रोजेक्ट में Firebase SDK टूल जोड़ने के अलग-अलग तरीकों के बारे में जानने के लिए,
  1. Xcode में, अपना ऐप्लिकेशन प्रोजेक्ट खोलने के लिए, फ़ाइल > पैकेज जोड़ें पर जाएं.
  2. जब कहा जाए, तब Firebase के Apple प्लैटफ़ॉर्म के SDK टूल का रिपॉज़िटरी जोड़ें:
  3.   https://github.com/firebase/firebase-ios-sdk.git
  4. Dynamic Links लाइब्रेरी चुनें.
  5. अपने टारगेट की बिल्ड सेटिंग के अन्य लिंकर फ़्लैग सेक्शन में -ObjC फ़्लैग जोड़ें.
  6. Dynamic Links का बेहतर अनुभव पाने के लिए, हमारा सुझाव है कि आप अपने Firebase प्रोजेक्ट में Google Analytics को चालू करें और अपने ऐप्लिकेशन में 'Firebase के लिए Google Analytics' SDK टूल जोड़ें. आपके पास IDFA कलेक्शन के साथ या बिना IDFA कलेक्शन वाली लाइब्रेरी चुनने का विकल्प होता है.
  7. यह काम पूरा होने के बाद, Xcode बैकग्राउंड में आपकी डिपेंडेंसी को अपने-आप रिज़ॉल्व और डाउनलोड करना शुरू कर देगा.

अब, कॉन्फ़िगरेशन के लिए यह तरीका अपनाएं:

  1. Firebase कंसोल में, Dynamic Links सेक्शन खोलें.
  2. अगर आपने अब तक सेवा की शर्तें स्वीकार नहीं की हैं और अपने Dynamic Links के लिए यूआरआई प्रीफ़िक्स सेट नहीं किया है, तो अनुरोध मिलने पर ऐसा करें.

    अगर आपके पास पहले से Dynamic Links यूआरआई प्रीफ़िक्स है, तो उसका ध्यान रखें. आपको प्रोग्राम के हिसाब से Dynamic Links बनाते समय, इसे उपलब्ध कराना होगा.

  3. सुझाव: आपके डीप लिंक और फ़ॉलबैक लिंक में इस्तेमाल किए जा सकने वाले यूआरएल पैटर्न तय करें. ऐसा करने से, आपके पास बिना अनुमति वाले पक्षों को Dynamic Links बनाने से रोकने का विकल्प होता है. ये Dynamic Links, आपके डोमेन से उन साइटों पर रीडायरेक्ट करते हैं जिन पर आपका कंट्रोल नहीं होता. खास यूआरएल पैटर्न को अनुमति दें देखें.
  4. पक्का करें कि आपके ऐप्लिकेशन के स्टोर आईडी और ऐप्लिकेशन आईडी के प्रीफ़िक्स की जानकारी, ऐप्लिकेशन की सेटिंग में दी गई हो. अपने ऐप्लिकेशन की सेटिंग देखने और उनमें बदलाव करने के लिए, अपने Firebase प्रोजेक्ट के सेटिंग पेज पर जाएं और अपना iOS ऐप्लिकेशन चुनें.

    अपने iOS ऐप्लिकेशन में Dynamic Links का इस्तेमाल करने के लिए, Dynamic Links डोमेन पर होस्ट की गई apple-app-site-association फ़ाइल खोलकर पुष्टि करें कि आपका Firebase प्रोजेक्ट सही तरीके से कॉन्फ़िगर किया गया है. Firebase, apple-app-site-association फ़ाइल को डोमेन के रूट और .well-known सबडायरेक्ट्री, दोनों से दिखाएगा. उदाहरण के लिए:

        https://example.com/apple-app-site-association
        https://example.com/.well-known/apple-app-site-association
        

    अगर आपका ऐप्लिकेशन कनेक्ट है, तो apple-app-site-association फ़ाइल में आपके ऐप्लिकेशन के ऐप्लिकेशन आईडी प्रीफ़िक्स और बंडल आईडी का रेफ़रंस होता है. उदाहरण के लिए:

    {"applinks":{"apps":[],"details":[{"appID":"1234567890.com.example.ios","paths":["/*"]}]}}

    अगर details प्रॉपर्टी खाली है, तो दोबारा जांच लें कि आपने अपने ऐप्लिकेशन आईडी का प्रीफ़िक्स डाला है या नहीं. ध्यान दें कि हो सकता है कि आपका ऐप्लिकेशन आईडी प्रीफ़िक्स, आपके टीम आईडी से अलग हो.

अपने ऐप्लिकेशन में Firebase जोड़ना

  1. अपने UIApplicationDelegate में FirebaseCore मॉड्यूल के साथ-साथ, उन सभी Firebase मॉड्यूल को इंपोर्ट करें जिनका इस्तेमाल आपका ऐप्लिकेशन डेलीगेट करता है. उदाहरण के लिए, Cloud Firestore और Authentication का इस्तेमाल करने के लिए:

    SwiftUI

    import SwiftUI
    import FirebaseCore
    import FirebaseFirestore
    import FirebaseAuth
    // ...
          

    Swift

    import FirebaseCore
    import FirebaseFirestore
    import FirebaseAuth
    // ...
          

    Objective-C

    @import FirebaseCore;
    @import FirebaseFirestore;
    @import FirebaseAuth;
    // ...
          
  2. अपने ऐप्लिकेशन डेलीगेट के application(_:didFinishLaunchingWithOptions:) तरीके में, FirebaseApp शेयर किया गया इंस्टेंस कॉन्फ़िगर करें:

    स्विफ़्टयूआई

    // Use Firebase library to configure APIs
    FirebaseApp.configure()

    Swift

    // Use Firebase library to configure APIs
    FirebaseApp.configure()

    Objective-C

    // Use Firebase library to configure APIs
    [FIRApp configure];
  3. अगर SwiftUI का इस्तेमाल किया जा रहा है, तो आपको एक ऐप्लिकेशन डेलीगेट बनाना होगा और उसे UIApplicationDelegateAdaptor या NSApplicationDelegateAdaptor के ज़रिए अपने App स्ट्रक्चर से अटैच करना होगा. आपको ऐप्लिकेशन डेलीगेट स्विज़लिंग की सुविधा भी बंद करनी होगी. ज़्यादा जानकारी के लिए, SwiftUI के निर्देश देखें.

    SwiftUI

    @main
    struct YourApp: App {
      // register app delegate for Firebase setup
      @UIApplicationDelegateAdaptor(AppDelegate.self) var delegate
    
      var body: some Scene {
        WindowGroup {
          NavigationView {
            ContentView()
          }
        }
      }
    }
          

Firebase कंसोल का इस्तेमाल करना

अगर आपको टेस्टिंग के मकसद से या अपनी मार्केटिंग टीम के लिए, आसानी से ऐसा लिंक बनाना है जिसका इस्तेमाल सोशल मीडिया पोस्ट जैसी किसी चीज़ में किया जा सके, तो सबसे आसान तरीका यह है कि आप Firebase कंसोल पर जाएं और सिलसिलेवार निर्देशों वाले फ़ॉर्म का पालन करके, मैन्युअल तरीके से एक Dynamic Link जनरेट करें.

iOS Builder API का इस्तेमाल करना

पैरामीटर से Dynamic Links बनाने या लंबे Dynamic Link को छोटा करने के लिए, iOS Builder API का इस्तेमाल किया जा सकता है.

Dynamic Link बनाने के लिए, नया DynamicLinkComponents ऑब्जेक्ट बनाएं और ऑब्जेक्ट की संबंधित प्रॉपर्टी सेट करके, Dynamic Link पैरामीटर तय करें. इसके बाद, ऑब्जेक्ट की url प्रॉपर्टी से लंबा लिंक पाएं या shorten() को कॉल करके छोटा लिंक पाएं.

यहां दिए गए छोटे उदाहरण में, Dynamic Link से https://www.example.com/my-page तक का एक लंबा लिंक बनाया गया है. यह लिंक, iOS पर आपके iOS ऐप्लिकेशन और Android पर ऐप्लिकेशन com.example.android को खोलता है:

Swift

ध्यान दें: Firebase का यह प्रॉडक्ट, macOS, Mac Catalyst, tvOS या watchOS टारगेट पर उपलब्ध नहीं है.
guard let link = URL(string: "https://www.example.com/my-page") else { return }
let dynamicLinksDomainURIPrefix = "https://example.com/link"
let linkBuilder = DynamicLinkComponents(link: link, domainURIPrefix: dynamicLinksDomainURIPRefix)
linkBuilder.iOSParameters = DynamicLinkIOSParameters(bundleID: "com.example.ios")
linkBuilder.androidParameters = DynamicLinkAndroidParameters(packageName: "com.example.android")

guard let longDynamicLink = linkBuilder.url else { return }
print("The long URL is: \(longDynamicLink)")

Objective-C

ध्यान दें: Firebase का यह प्रॉडक्ट, macOS, Mac Catalyst, tvOS या watchOS टारगेट पर उपलब्ध नहीं है.
NSURL *link = [[NSURL alloc] initWithString:@"https://www.example.com/my-page"];
NSString *dynamicLinksDomainURIPrefix = @"https://example.com/link";
FIRDynamicLinkComponents *linkBuilder = [[FIRDynamicLinkComponents alloc]
                                         initWithLink:link
                                               domainURIPrefix:dynamicLinksDomainURIPrefix];
linkBuilder.iOSParameters = [[FIRDynamicLinkIOSParameters alloc]
                             initWithBundleID:@"com.example.ios"];
linkBuilder.androidParameters = [[FIRDynamicLinkAndroidParameters alloc]
                                 initWithPackageName:@"com.example.android"];

NSLog(@"The long URL is: %@", linkBuilder.url);

छोटा Dynamic Link बनाने के लिए, उसी तरह से DynamicLinkComponents बनाएं और फिर shorten() को कॉल करें.

छोटा लिंक बनाने के लिए, नेटवर्क कॉल की ज़रूरत होती है. इसलिए, shorten() सीधे लिंक दिखाने के बजाय, लिंक बनाने के बाद कॉल को पूरा करने वाला फ़ंक्शन स्वीकार करता है. इस फ़ंक्शन को अनुरोध पूरा होने पर कॉल किया जाता है. उदाहरण के लिए:

Swift

ध्यान दें: Firebase का यह प्रॉडक्ट, macOS, Mac Catalyst, tvOS या watchOS टारगेट पर उपलब्ध नहीं है.
linkBuilder.shorten() { url, warnings, error in
  guard let url = url, error != nil else { return }
  print("The short URL is: \(url)")
}

Objective-C

ध्यान दें: Firebase का यह प्रॉडक्ट, macOS, Mac Catalyst, tvOS या watchOS टारगेट पर उपलब्ध नहीं है.
[linkBuilder shortenWithCompletion:^(NSURL * _Nullable shortURL,
                                     NSArray<NSString *> * _Nullable warnings,
                                     NSError * _Nullable error) {
  if (error || shortURL == nil) { return; }
  NSLog(@"The short URL is: %@", shortURL);
}];
      

डिफ़ॉल्ट रूप से, शॉर्ट Dynamic Links, 17 वर्णों वाले लिंक के सफ़िक्स के साथ जनरेट होते हैं. इससे, किसी भी व्यक्ति के लिए मान्य Dynamic Link का अनुमान लगाना काफ़ी मुश्किल हो जाता है. अगर आपके इस्तेमाल के उदाहरण में, छोटे लिंक का अनुमान लगाने में कोई नुकसान नहीं हुआ है, तो हो सकता है कि आप सिर्फ़ उन सफ़िक्स को जनरेट करना चाहें जो यूनीक होने के लिए ज़रूरी हों. ऐसा करने के लिए, dynamicLinkComponentsOptions प्रॉपर्टी को सेट करें:

Swift

ध्यान दें: Firebase का यह प्रॉडक्ट, macOS, Mac Catalyst, tvOS या watchOS टारगेट पर उपलब्ध नहीं है.
linkBuilder.options = DynamicLinkComponentsOptions()
linkBuilder.options.pathLength = .short
linkBuilder.shorten() { url, warnings, error in
  guard let url = url, error != nil else { return }
  print("The short URL is: \(url)")
}

Objective-C

ध्यान दें: Firebase का यह प्रॉडक्ट, macOS, Mac Catalyst, tvOS या watchOS टारगेट पर उपलब्ध नहीं है.
linkBuilder.dynamicLinkComponentsOptions = [[FIRDynamicLinkComponentsOptions alloc] init];
linkBuilder.dynamicLinkComponentsOptions.pathLength = FIRShortDynamicLinkPathLengthShort;
[linkBuilder shortenWithCompletion:^(NSURL * _Nullable shortURL,
                                     NSArray<NSString *> * _Nullable warnings,
                                     NSError * _Nullable error) {
  if (error || shortURL == nil) { return; }
  NSLog(@"The short URL is: %@", shortURL);
}];
      

Dynamic Link Builder API का इस्तेमाल करके, काम करने वाले किसी भी पैरामीटर के साथ Dynamic Links बनाया जा सकता है. ज़्यादा जानकारी के लिए, एपीआई रेफ़रंस देखें.

यहां दिए गए उदाहरण में, कई सामान्य पैरामीटर सेट करके Dynamic Link बनाया गया है:

Swift

ध्यान दें: Firebase का यह प्रॉडक्ट, macOS, Mac Catalyst, tvOS या watchOS टारगेट पर उपलब्ध नहीं है.
guard let link = URL(string: "https://www.example.com/my-page") else { return }
let dynamicLinksDomainURIPrefix = "https://example.com/link"
let linkBuilder = DynamicLinkComponents(link: link, domainURIPRefix: dynamicLinksDomainURIPrefix)

linkBuilder.iOSParameters = DynamicLinkIOSParameters(bundleID: "com.example.ios")
linkBuilder.iOSParameters.appStoreID = "123456789"
linkBuilder.iOSParameters.minimumAppVersion = "1.2.3"

linkBuilder.androidParameters = DynamicLinkAndroidParameters(packageName: "com.example.android")
linkBuilder.androidParameters.minimumVersion = 123

linkBuilder.analyticsParameters = DynamicLinkGoogleAnalyticsParameters(source: "orkut",
                                                                       medium: "social",
                                                                       campaign: "example-promo")

linkBuilder.iTunesConnectParameters = DynamicLinkItunesConnectAnalyticsParameters()
linkBuilder.iTunesConnectParameters.providerToken = "123456"
linkBuilder.iTunesConnectParameters.campaignToken = "example-promo"

linkBuilder.socialMetaTagParameters = DynamicLinkSocialMetaTagParameters()
linkBuilder.socialMetaTagParameters.title = "Example of a Dynamic Link"
linkBuilder.socialMetaTagParameters.descriptionText = "This link works whether the app is installed or not!"
linkBuilder.socialMetaTagParameters.imageURL = "https://www.example.com/my-image.jpg"

guard let longDynamicLink = linkBuilder.url else { return }
print("The long URL is: \(longDynamicLink)")

Objective-C

ध्यान दें: यह Firebase प्रॉडक्ट macOS, Mac Catalyst, tvOS या watchOS टारगेट पर उपलब्ध नहीं है.
NSURL *link = [[NSURL alloc] initWithString:@"https://www.example.com/my-page"];
NSString *dynamicLinksDomainURIPrefix = @"https://example.com/link";
FIRDynamicLinkComponents *linkBuilder = [[FIRDynamicLinkComponents alloc]
                                         initWithLink:link
                                         domainURIPrefix:dynamicLinksDomainURIPrefix];

linkBuilder.iOSParameters = [[FIRDynamicLinkIOSParameters alloc]
                             initWithBundleID:@"com.example.ios"];
linkBuilder.iOSParameters.appStoreID = @"123456789";
linkBuilder.iOSParameters.minimumAppVersion = @"1.2.3";

linkBuilder.androidParameters = [[FIRDynamicLinkAndroidParameters alloc]
                                 initWithPackageName:@"com.example.android"];
linkBuilder.androidParameters.minimumVersion = 123;

linkBuilder.analyticsParameters = [[FIRDynamicLinkGoogleAnalyticsParameters alloc]
                                   initWithSource:@"orkut"
                                           medium:@"social"
                                         campaign:@"example-promo"];

linkBuilder.iTunesConnectParameters = [[FIRDynamicLinkItunesConnectAnalyticsParameters alloc] init];
linkBuilder.iTunesConnectParameters.providerToken = @"123456";
linkBuilder.iTunesConnectParameters.campaignToken = @"example-promo";

linkBuilder.socialMetaTagParameters = [[FIRDynamicLinkSocialMetaTagParameters alloc] init];
linkBuilder.socialMetaTagParameters.title = @"Example of a Dynamic Link";
linkBuilder.socialMetaTagParameters.descriptionText = @"This link works whether the app is installed or not!";
linkBuilder.socialMetaTagParameters.imageURL = @"https://www.example.com/my-image.jpg";

NSLog(@"The long URL is: %@", linkBuilder.url);

Dynamic Link पैरामीटर को इन ऑब्जेक्ट और प्रॉपर्टी के साथ सेट किया जा सकता है:

DynamicLinkComponents
लिंक

वह लिंक जिससे आपका ऐप्लिकेशन खुलेगा. वह यूआरएल डालें जिसे आपका ऐप्लिकेशन मैनेज कर सकता है. आम तौर पर, यह ऐप्लिकेशन के कॉन्टेंट या पेलोड को मैनेज करता है. इससे ऐप्लिकेशन के लिए खास लॉजिक दिया जाता है, जैसे कि उपयोगकर्ता को कूपन से क्रेडिट देना या वेलकम स्क्रीन दिखाना. यह लिंक सही फ़ॉर्मैट में होना चाहिए. साथ ही, यह यूआरएल कोड में बदला गया होना चाहिए. इसमें एचटीटीपी या एचटीटीपीएस का इस्तेमाल किया जाना चाहिए. यह कोई दूसरा डाइनैमिक लिंक नहीं होना चाहिए.

डोमेनयूआरआईप्रीफ़िक्स आपका Dynamic Link यूआरएल प्रीफ़िक्स, जो आपको Firebase कंसोल में मिल सकता है. Dynamic Link डोमेन, इन उदाहरणों की तरह दिखता है:
https://example.com/link
https://example.page.link
डाइनैमिकलिंकAndroidपैरामीटर
fallbackURL ऐप्लिकेशन इंस्टॉल न होने पर खुलने वाला लिंक. ऐप्लिकेशन इंस्टॉल न होने पर, Play Store से ऐप्लिकेशन इंस्टॉल करने के अलावा, कुछ और करने के लिए यह जानकारी दें. जैसे, कॉन्टेंट का मोबाइल वेब वर्शन खोलना या अपने ऐप्लिकेशन का प्रमोशनल पेज दिखाना.
minimumVersion आपके ऐप्लिकेशन का वह सबसे कम वर्शन versionCode जिस पर लिंक खोला जा सकता है. अगर इंस्टॉल किया गया ऐप्लिकेशन पुराना वर्शन है, तो उपयोगकर्ता को ऐप्लिकेशन अपग्रेड करने के लिए Play Store पर ले जाया जाता है.
DynamicLinkIOSParameters
appStoreID आपके ऐप्लिकेशन का App Store आईडी. इसका इस्तेमाल, ऐप्लिकेशन इंस्टॉल न होने पर उपयोगकर्ताओं को App Store पर भेजने के लिए किया जाता है
fallbackURL ऐप्लिकेशन इंस्टॉल न होने पर खुलने वाला लिंक. ऐप्लिकेशन इंस्टॉल न होने पर, App Store से ऐप्लिकेशन इंस्टॉल करने के अलावा, कुछ और करने के लिए यह जानकारी दें. जैसे, कॉन्टेंट का मोबाइल वेब वर्शन खोलना या अपने ऐप्लिकेशन का प्रमोशनल पेज दिखाना.
कस्टमस्कीम आपके ऐप्लिकेशन की कस्टम यूआरएल स्कीम, अगर उसे आपके ऐप्लिकेशन के बंडल आईडी के बजाय कोई और बताया गया हो
iPadFallbackURL जब ऐप्लिकेशन इंस्टॉल न हो, तब iPad पर खोलने के लिए लिंक. ऐप्लिकेशन इंस्टॉल न होने पर, App Store से ऐप्लिकेशन इंस्टॉल करने के अलावा, कुछ और करने के लिए यह जानकारी दें. जैसे, कॉन्टेंट का वेब वर्शन खोलना या अपने ऐप्लिकेशन का प्रमोशनल पेज दिखाना.
iPadBundleID iPad पर इस्तेमाल करने के लिए, iOS ऐप्लिकेशन का बंडल आईडी. ऐप्लिकेशन को Firebase कंसोल के होम पेज से आपके प्रोजेक्ट से कनेक्ट करना होगा.
minimumAppVersion आपके ऐप्लिकेशन के उस वर्शन का वर्शन नंबर जिस पर लिंक खोला जा सकता है. आपके ऐप्लिकेशन को खोले जाने पर, यह फ़्लैग आपके पास भेजा जाता है. इसके बाद, आपके ऐप्लिकेशन को यह तय करना होता है कि उसका क्या करना है.
डायनेमिक लिंक नेविगेशन जानकारी पैरामीटर
forcedRedirectEnabled अगर इसकी वैल्यू '1' पर सेट है, तो Dynamic Link खोलने पर, ऐप्लिकेशन की झलक वाला पेज स्किप करें. इसके बजाय, ऐप्लिकेशन या स्टोर पर रीडायरेक्ट करें. ऐप्लिकेशन में Dynamic Links खोलने पर, ऐप्लिकेशन की झलक दिखाने वाला पेज (डिफ़ॉल्ट रूप से चालू होता है), उपयोगकर्ताओं को सबसे सही डेस्टिनेशन पर भेज सकता है. हालांकि, अगर आपको Dynamic Link को सिर्फ़ ऐसे ऐप्लिकेशन में खोलना है जो Dynamic Links को इस पेज के बिना ही पूरी तरह से खोल सकें, तो इस पैरामीटर का इस्तेमाल करके उसे बंद किया जा सकता है. इस पैरामीटर का असर, सिर्फ़ iOS पर Dynamic Link के व्यवहार पर पड़ेगा.
DynamicLinkSocialMetaTagParameters
शीर्षक सोशल मीडिया पर पोस्ट में Dynamic Link शेयर होने पर इस्तेमाल किया जाने वाला टाइटल.
descriptionText सोशल मीडिया पोस्ट में Dynamic Link शेयर करते समय इस्तेमाल किया जाने वाला ब्यौरा.
imageURL इस लिंक से जुड़ी इमेज का यूआरएल. इमेज का साइज़ कम से कम 300x200 पिक्सल और उसका साइज़ 300 केबी से कम होना चाहिए.
DynamicLinkGoogleAnalyticsParameters
स्रोत
मीडियम
कैंपेन
अवधि
कॉन्टेंट
Google Play के आंकड़ों के पैरामीटर. इन पैरामीटर (utm_source, utm_medium, utm_campaign, utm_term, utm_content) को Play Store पर भेजा जाता है. साथ ही, इन्हें लिंक पेलोड में जोड़ा जाता है.
DynamicLinkItunesConnectAnalyticsParameters
providerToken
affiliateToken
campaignToken
iTunes Connect के आंकड़े से जुड़े पैरामीटर. ये पैरामीटर (pt, at, ct) App Store को भेजे जाते हैं.

अगर आपको लंबे सफ़िक्स वाला लिंक जनरेट करना है, तो लंबे Dynamic Link को shortenURL(url:options:) के साथ-साथ DynamicLinkComponentsOptions ऑब्जेक्ट में पास करें:

Swift

ध्यान दें: Firebase का यह प्रॉडक्ट, macOS, Mac Catalyst, tvOS या watchOS टारगेट पर उपलब्ध नहीं है.
DynamicLinkComponents.shortenURL(url: longLinkUrl, options: nil) { url, warnings, error in
  guard let url = url, error != nil else { return }
  print("The short URL is: \(url)")
}

Objective-C

ध्यान दें: Firebase का यह प्रॉडक्ट, macOS, Mac Catalyst, tvOS या watchOS टारगेट पर उपलब्ध नहीं है.
[FIRDynamicLinkComponents shortenURL:longLinkUrl
                             options:nil
                          completion:^(NSURL * _Nullable shortURL,
                                       NSArray<NSString *> * _Nullable warnings,
                                       NSError * _Nullable error) {
  if (error || shortURL == nil) { return; }
  NSLog(@"The short URL is: %@", shortURL);
}];

डिफ़ॉल्ट रूप से, Dynamic Links आपके ऐप्लिकेशन के बंडल आइडेंटिफ़ायर का इस्तेमाल, आपके ऐप्लिकेशन को खोलने के लिए ज़रूरी यूआरएल स्कीम के तौर पर करता है. हमारा सुझाव है कि लागू करने की प्रोसेस को आसान बनाए रखने के लिए, इस डिफ़ॉल्ट वैल्यू का इस्तेमाल करें.

हालांकि, हो सकता है कि ऐसे डेवलपर जो पहले से ही अन्य कामों के लिए कस्टम यूआरएल स्कीम का इस्तेमाल कर रहे हैं, वे अपने Dynamic Links के लिए भी यही कस्टम यूआरएल स्कीम इस्तेमाल करना चाहें. अगर आपका चैनल इस स्थिति में है, तो इन चरणों का पालन करके, अपने Firebase Dynamic Links के लिए कोई दूसरा यूआरएल स्कीम तय किया जा सकता है:

  1. अपने ऐप्लिकेशन को सेट अप करते समय, FirebaseApp के शेयर किए गए इंस्टेंस को कॉन्फ़िगर करने से पहले, पक्का करें कि आपने अपने ऐप्लिकेशन के लिए इस्तेमाल किया जाने वाला डिफ़ॉल्ट यूआरएल स्कीम तय कर लिया हो:

    Swift

    ध्यान दें: Firebase का यह प्रॉडक्ट, macOS, Mac Catalyst, tvOS या watchOS टारगेट पर उपलब्ध नहीं है.
    func application(_ application: UIApplication,
                     didFinishLaunchingWithOptions launchOptions: [UIApplication
                       .LaunchOptionsKey: Any]?) -> Bool {
      // Set deepLinkURLScheme to the custom URL scheme you defined in your
      // Xcode project.
      FirebaseOptions.defaultOptions()?.deepLinkURLScheme = customURLScheme
      FirebaseApp.configure()
    
      return true
    }

    Objective-C

    ध्यान दें: Firebase का यह प्रॉडक्ट, macOS, Mac Catalyst, tvOS या watchOS टारगेट पर उपलब्ध नहीं है.
    - (BOOL)application:(UIApplication *)application
        didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
      // Set deepLinkURLScheme to the custom URL scheme you defined in your
      // Xcode project.
      [FIROptions defaultOptions].deepLinkURLScheme = CUSTOM_URL_SCHEME;
      [FIRApp configure];
    
      return YES;
    }
  2. कोई भी Dynamic Link बनाने पर, आपको अपने ऐप्लिकेशन में इस्तेमाल की जाने वाली कस्टम यूआरएल स्कीम बतानी होगी. Firebase कंसोल में जाकर, बिल्डर एपीआई में customScheme सेट करके, अपने यूआरएल में ius पैरामीटर डालकर या iosCustomScheme पैरामीटर को REST API में भेजकर ऐसा किया जा सकता है

अगले चरण

Dynamic Links बनाने के बाद, आपको अपने ऐप्लिकेशन को Dynamic Links पाने के लिए सेट अप करना होगा. साथ ही, उपयोगकर्ता के ऐप्लिकेशन खोलने के बाद, उसे सही जगह पर भेजना होगा.

अपने ऐप्लिकेशन में Dynamic Links पाने के लिए, iOS, Android, C++, और Unity के दस्तावेज़ देखें.