আইওএস-এ ডায়নামিক লিঙ্ক তৈরি করুন

আপনি Firebase Dynamic Links Builder API ব্যবহার করে ছোট বা দীর্ঘ Dynamic Links তৈরি করতে পারেন। এই API হয় একটি দীর্ঘ Dynamic Link অথবা Dynamic Link প্যারামিটার ধারণকারী একটি অবজেক্ট গ্রহণ করে এবং নিম্নলিখিত উদাহরণগুলির মতো URL গুলি ফেরত দেয়:

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

পূর্বশর্ত

শুরু করার আগে, আপনার iOS প্রকল্পে Firebase যোগ করতে ভুলবেন না।

ফায়ারবেস নির্ভরতা ইনস্টল এবং পরিচালনা করতে সুইফট প্যাকেজ ম্যানেজার ব্যবহার করুন।

  1. Xcode-এ, আপনার অ্যাপ প্রজেক্ট খোলা থাকা অবস্থায়, File > Add Packages- এ নেভিগেট করুন।
  2. অনুরোধ করা হলে, Firebase Apple platforms SDK সংগ্রহস্থল যোগ করুন:
  3.   https://github.com/firebase/firebase-ios-sdk.git
  4. Dynamic Links লাইব্রেরিটি নির্বাচন করুন।
  5. আপনার টার্গেটের বিল্ড সেটিংসের অন্যান্য লিঙ্কার ফ্ল্যাগ বিভাগে -ObjC ফ্ল্যাগ যোগ করুন।
  6. Dynamic Links এর সর্বোত্তম অভিজ্ঞতার জন্য, আমরা আপনার Firebase প্রোজেক্টে Google Analytics সক্ষম করার এবং আপনার অ্যাপে Google Analytics এর জন্য Firebase SDK যোগ করার পরামর্শ দিচ্ছি। আপনি IDFA সংগ্রহ ছাড়াই অথবা IDFA সংগ্রহ সহ লাইব্রেরি নির্বাচন করতে পারেন। Firebase SDK এর জন্য Google Analytics এর সর্বশেষ মডিউল সংগঠন সম্পর্কে আমাদের প্রায়শই জিজ্ঞাসিত প্রশ্নাবলী দেখুন।
  7. শেষ হয়ে গেলে, Xcode স্বয়ংক্রিয়ভাবে ব্যাকগ্রাউন্ডে আপনার নির্ভরতাগুলি সমাধান এবং ডাউনলোড করা শুরু করবে।

এখন, কিছু কনফিগারেশন ধাপ সম্পাদন করুন:

  1. Firebase কনসোলে, Dynamic Links বিভাগটি খুলুন।
  2. যদি আপনি ইতিমধ্যেই পরিষেবার শর্তাবলী গ্রহণ না করে থাকেন এবং আপনার Dynamic Links এর জন্য একটি URI প্রিফিক্স সেট না করে থাকেন, তাহলে অনুরোধ করা হলে তা করুন।

    যদি আপনার ইতিমধ্যেই একটি Dynamic Links URI প্রিফিক্স থাকে, তাহলে এটি নোট করে রাখুন। প্রোগ্রাম্যাটিকভাবে Dynamic Links তৈরি করার সময় আপনাকে এটি প্রদান করতে হবে।

  3. প্রস্তাবিত : আপনার ডিপ লিঙ্ক এবং ফলব্যাক লিঙ্কগুলিতে অনুমোদিত URL প্যাটার্নগুলি নির্দিষ্ট করুন। এটি করার মাধ্যমে, আপনি অননুমোদিত পক্ষগুলিকে Dynamic Links তৈরি করতে বাধা দেবেন যা আপনার ডোমেন থেকে আপনার নিয়ন্ত্রণে নেই এমন সাইটগুলিতে পুনঃনির্দেশিত করে। নির্দিষ্ট URL প্যাটার্নগুলিকে অনুমতি দিন দেখুন।
  4. আপনার অ্যাপের সেটিংসে আপনার অ্যাপের অ্যাপ স্টোর আইডি এবং অ্যাপ আইডি প্রিফিক্স নির্দিষ্ট করা আছে কিনা তা নিশ্চিত করুন। আপনার অ্যাপের সেটিংস দেখতে এবং সম্পাদনা করতে, আপনার Firebase প্রোজেক্টের সেটিংস পৃষ্ঠায় যান এবং আপনার iOS অ্যাপটি নির্বাচন করুন।

    আপনার Dynamic Links ডোমেনে হোস্ট করা apple-app-site-association ফাইলটি খুলে নিশ্চিত করুন যে আপনার Firebase প্রজেক্টটি আপনার iOS অ্যাপে Dynamic Links ব্যবহার করার জন্য সঠিকভাবে কনফিগার করা আছে। 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. আপনার UIApplicationDelegateFirebaseCore মডিউলটি আমদানি করুন, সেইসাথে আপনার অ্যাপ প্রতিনিধিদের দ্বারা ব্যবহৃত অন্য যেকোনো Firebase মডিউল । উদাহরণস্বরূপ, Cloud Firestore এবং Authentication ব্যবহার করতে:

    সুইফটইউআই

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

    সুইফট

    import FirebaseCore
    import FirebaseFirestore
    import FirebaseAuth
    // ...
          

    অবজেক্টিভ-সি

    @import FirebaseCore;
    @import FirebaseFirestore;
    @import FirebaseAuth;
    // ...
          
  2. আপনার অ্যাপ ডেলিগেটের application(_:didFinishLaunchingWithOptions:) পদ্ধতিতে একটি FirebaseApp শেয়ার করা ইনস্ট্যান্স কনফিগার করুন:

    সুইফটইউআই

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

    সুইফট

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

    অবজেক্টিভ-সি

    // Use Firebase library to configure APIs
    [FIRApp configure];
  3. যদি আপনি SwiftUI ব্যবহার করেন, তাহলে আপনাকে একটি অ্যাপ্লিকেশন ডেলিগেট তৈরি করতে হবে এবং UIApplicationDelegateAdaptor অথবা NSApplicationDelegateAdaptor মাধ্যমে আপনার App স্ট্রাক্টের সাথে এটি সংযুক্ত করতে হবে। আপনাকে অ্যাপ ডেলিগেট সুইজলিংও অক্ষম করতে হবে। আরও তথ্যের জন্য, SwiftUI নির্দেশাবলী দেখুন।

    সুইফটইউআই

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

Firebase কনসোল ব্যবহার করুন

যদি আপনি একটি একক Dynamic Link তৈরি করতে চান, হয় পরীক্ষার উদ্দেশ্যে, অথবা আপনার মার্কেটিং টিমের জন্য সহজেই এমন একটি লিঙ্ক তৈরি করতে চান যা সোশ্যাল মিডিয়া পোস্টের মতো কিছুতে ব্যবহার করা যেতে পারে, তাহলে সবচেয়ে সহজ উপায় হল Firebase কনসোলে গিয়ে ধাপে ধাপে ফর্ম অনুসরণ করে ম্যানুয়ালি একটি তৈরি করা।

iOS বিল্ডার API ব্যবহার করুন

আপনি iOS বিল্ডার API ব্যবহার করে প্যারামিটার থেকে Dynamic Links তৈরি করতে পারেন, অথবা একটি দীর্ঘ Dynamic Link ছোট করতে পারেন।

একটি Dynamic Link তৈরি করতে, একটি নতুন DynamicLinkComponents অবজেক্ট তৈরি করুন এবং অবজেক্টের সংশ্লিষ্ট বৈশিষ্ট্যগুলি সেট করে Dynamic Link প্যারামিটারগুলি নির্দিষ্ট করুন। তারপর, অবজেক্টের url প্রোপার্টি থেকে দীর্ঘ লিঙ্কটি পান অথবা shorten() কল করে সংক্ষিপ্ত লিঙ্কটি পান।

নিচের ন্যূনতম উদাহরণটি https://www.example.com/my-page এ একটি দীর্ঘ Dynamic Link তৈরি করে যা iOS-এ আপনার iOS অ্যাপ এবং Android-এ com.example.android অ্যাপ দিয়ে খোলে:

সুইফট

দ্রষ্টব্য: এই 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)")

অবজেক্টিভ-সি

দ্রষ্টব্য: এই 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() একটি সম্পূর্ণকরণ হ্যান্ডলার গ্রহণ করে, যা অনুরোধটি সম্পূর্ণ হলে কল করা হয়। উদাহরণস্বরূপ:

সুইফট

দ্রষ্টব্য: এই 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)")
}

অবজেক্টিভ-সি

দ্রষ্টব্য: এই 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 সম্পত্তি সেট করে করতে পারেন:

সুইফট

দ্রষ্টব্য: এই 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)")
}

অবজেক্টিভ-সি

দ্রষ্টব্য: এই 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 Links তৈরি করতে Dynamic Link বিল্ডার API ব্যবহার করতে পারেন। বিস্তারিত জানার জন্য API রেফারেন্স দেখুন।

নিম্নলিখিত উদাহরণটি বেশ কয়েকটি সাধারণ প্যারামিটার সেট সহ একটি Dynamic Link তৈরি করে:

সুইফট

দ্রষ্টব্য: এই 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)")

অবজেক্টিভ-সি

দ্রষ্টব্য: এই 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 প্যারামিটার সেট করতে পারেন:

ডাইনামিকলিংক কম্পোনেন্টস
লিঙ্ক

আপনার অ্যাপটি যে লিঙ্কটি খুলবে। এমন একটি URL নির্দিষ্ট করুন যা আপনার অ্যাপ পরিচালনা করতে পারে, সাধারণত অ্যাপের কন্টেন্ট বা পেলোড, যা অ্যাপ-নির্দিষ্ট লজিক শুরু করে (যেমন ব্যবহারকারীকে কুপন দিয়ে ক্রেডিট করা বা একটি স্বাগত স্ক্রিন প্রদর্শন করা)। এই লিঙ্কটি অবশ্যই একটি ভালভাবে ফর্ম্যাট করা URL হতে হবে, সঠিকভাবে URL-এনকোড করা থাকতে হবে, HTTP বা HTTPS ব্যবহার করতে হবে এবং অন্য কোনও ডায়নামিক লিঙ্ক হতে পারবে না।

ডোমেইন ইউআরআইপ্রিফিক্স আপনার Dynamic Link URL প্রিফিক্স, যা আপনি Firebase কনসোলে খুঁজে পেতে পারেন। একটি Dynamic Link ডোমেন নিম্নলিখিত উদাহরণগুলির মতো দেখতে:
https://example.com/link
https://example.page.link
DynamicLinkAndroidParameters সম্পর্কে
ফলব্যাক URL অ্যাপটি ইনস্টল না থাকাকালীন খোলার লিঙ্ক। অ্যাপটি ইনস্টল না থাকাকালীন প্লে স্টোর থেকে আপনার অ্যাপটি ইনস্টল করা ছাড়া অন্য কিছু করার জন্য এটি নির্দিষ্ট করুন, যেমন কন্টেন্টের মোবাইল ওয়েব সংস্করণ খোলা, অথবা আপনার অ্যাপের জন্য একটি প্রচারমূলক পৃষ্ঠা প্রদর্শন করা।
ন্যূনতম সংস্করণ আপনার অ্যাপের ন্যূনতম সংস্করণের versionCode যা লিঙ্কটি খুলতে পারে। যদি ইনস্টল করা অ্যাপটি একটি পুরানো সংস্করণ হয়, তাহলে ব্যবহারকারীকে অ্যাপটি আপগ্রেড করার জন্য প্লে স্টোরে নিয়ে যাওয়া হবে।
ডাইনামিকলিংকআইওএস প্যারামিটার
অ্যাপস্টোরআইডি আপনার অ্যাপের অ্যাপ স্টোর আইডি, যা অ্যাপটি ইনস্টল না থাকাকালীন ব্যবহারকারীদের অ্যাপ স্টোরে পাঠাতে ব্যবহৃত হয়
ফলব্যাক URL অ্যাপটি ইনস্টল না থাকাকালীন খোলার লিঙ্ক। অ্যাপটি ইনস্টল না থাকাকালীন অ্যাপ স্টোর থেকে আপনার অ্যাপটি ইনস্টল করা ছাড়া অন্য কিছু করার জন্য এটি নির্দিষ্ট করুন, যেমন কন্টেন্টের মোবাইল ওয়েব সংস্করণ খোলা, অথবা আপনার অ্যাপের জন্য একটি প্রচারমূলক পৃষ্ঠা প্রদর্শন করা।
কাস্টমস্কিম আপনার অ্যাপের কাস্টম URL স্কিম, যদি আপনার অ্যাপের বান্ডেল আইডি ছাড়া অন্য কিছু হিসেবে সংজ্ঞায়িত করা হয়
iPadFallbackURL সম্পর্কে অ্যাপটি ইনস্টল না থাকাকালীন iPads-এ খোলার লিঙ্ক। অ্যাপটি ইনস্টল না থাকাকালীন অ্যাপ স্টোর থেকে আপনার অ্যাপটি ইনস্টল করা ছাড়া অন্য কিছু করার জন্য এটি নির্দিষ্ট করুন, যেমন কন্টেন্টের ওয়েব সংস্করণ খোলা, অথবা আপনার অ্যাপের জন্য একটি প্রচারমূলক পৃষ্ঠা প্রদর্শন করা।
আইপ্যাডবান্ডেলআইডি লিঙ্কটি খোলার জন্য iPads-এ ব্যবহার করার জন্য iOS অ্যাপের বান্ডেল আইডি। অ্যাপটি Firebase কনসোলের ওভারভিউ পৃষ্ঠা থেকে আপনার প্রকল্পের সাথে সংযুক্ত থাকতে হবে।
ন্যূনতম অ্যাপ ভার্সন আপনার অ্যাপের ন্যূনতম সংস্করণের সংস্করণ নম্বর যা লিঙ্কটি খুলতে পারে। এই পতাকাটি আপনার অ্যাপটি খোলার সময় পাঠানো হয় এবং আপনার অ্যাপটিকে এটি দিয়ে কী করতে হবে তা নির্ধারণ করতে হবে।
ডাইনামিকলিংকনেভিগেশনইনফোপ্যারামিটার
জোরপূর্বক পুনঃনির্দেশ সক্রিয় যদি '1' তে সেট করা থাকে, তাহলে Dynamic Link খোলার সময় অ্যাপ প্রিভিউ পৃষ্ঠাটি এড়িয়ে যান এবং পরিবর্তে অ্যাপ বা স্টোরে পুনঃনির্দেশিত করুন। অ্যাপ প্রিভিউ পৃষ্ঠা (ডিফল্টরূপে সক্ষম) ব্যবহারকারীদের অ্যাপে Dynamic Links খোলার সময় সবচেয়ে উপযুক্ত গন্তব্যে আরও নির্ভরযোগ্যভাবে পাঠাতে পারে; তবে, যদি আপনি আশা করেন যে Dynamic Link শুধুমাত্র সেই অ্যাপগুলিতে খোলা হবে যেগুলি এই পৃষ্ঠাটি ছাড়াই নির্ভরযোগ্যভাবে Dynamic Links খুলতে পারে, তাহলে আপনি এই প্যারামিটারটি দিয়ে এটি অক্ষম করতে পারেন। এই প্যারামিটারটি শুধুমাত্র iOS-এ Dynamic Link এর আচরণকে প্রভাবিত করবে।
DynamicLinkSocialMetaTagParameters সম্পর্কে
শিরোনাম কোনও সোশ্যাল পোস্টে Dynamic Link শেয়ার করার সময় যে শিরোনামটি ব্যবহার করা হবে।
বর্ণনাপাঠ্য কোনও সোশ্যাল পোস্টে Dynamic Link শেয়ার করার সময় যে বিবরণটি ব্যবহার করতে হবে।
ছবির URL এই লিঙ্কের সাথে সম্পর্কিত একটি ছবির URL। ছবিটি কমপক্ষে 300x200 px এবং 300 KB এর কম হতে হবে।
ডাইনামিকলিংকগুগলঅ্যানালিটিক্সপ্যারামিটার
উৎস
মাঝারি
প্রচারণা
পদ
কন্টেন্ট
গুগল প্লে অ্যানালিটিক্স প্যারামিটার। এই প্যারামিটারগুলি ( utm_source , utm_medium , utm_campaign , utm_term , utm_content ) প্লে স্টোরে পাঠানো হয় এবং লিঙ্ক পেলোডে যুক্ত করা হয়।
ডাইনামিকলিংকআইটিউনসকানেক্টঅ্যানালিটিক্সপ্যারামিটার
সরবরাহকারী টোকেন
অ্যাফিলিয়েট টোকেন
ক্যাম্পেইন টোকেন
আইটিউনস কানেক্ট অ্যানালিটিক্স প্যারামিটার। এই প্যারামিটারগুলি ( pt , at , ct ) অ্যাপ স্টোরে পাঠানো হয়।

একটি দীর্ঘ Dynamic Link ছোট করতে, যদি আপনি একটি ছোট প্রত্যয় সহ একটি লিঙ্ক তৈরি করতে চান, তাহলে একটি DynamicLinkComponentsOptions অবজেক্টের সাথে দীর্ঘ Dynamic Link shortenURL(url:options:) এ দিন:

সুইফট

দ্রষ্টব্য: এই 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)")
}

অবজেক্টিভ-সি

দ্রষ্টব্য: এই 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 আপনার অ্যাপ্লিকেশনটি খোলার জন্য প্রয়োজনীয় URL স্কিম হিসেবে আপনার অ্যাপের বান্ডেল আইডেন্টিফায়ার ব্যবহার করে। আপনার বাস্তবায়ন সহজ রাখতে আমরা এই ডিফল্ট মানটি মেনে চলার পরামর্শ দিচ্ছি।

তবে, যেসব ডেভেলপার ইতিমধ্যেই অন্য উদ্দেশ্যে একটি কাস্টম URL স্কিম ব্যবহার করছেন তারা তাদের Dynamic Links জন্যও এই একই কাস্টম URL স্কিম ব্যবহার করতে চাইতে পারেন। যদি আপনি এই পরিস্থিতিতে থাকেন, তাহলে আপনি এই পদক্ষেপগুলি অনুসরণ করে আপনার Firebase Dynamic Links জন্য একটি ভিন্ন URL স্কিম নির্দিষ্ট করতে পারেন:

  1. আপনার অ্যাপ সেট আপ করার সময়, আপনার FirebaseApp শেয়ার্ড ইনস্ট্যান্স কনফিগার করার আগে আপনার অ্যাপ্লিকেশন দ্বারা ব্যবহৃত ডিফল্ট URL স্কিমটি নির্দিষ্ট করে নিন:

    সুইফট

    দ্রষ্টব্য: এই 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
    }

    অবজেক্টিভ-সি

    দ্রষ্টব্য: এই 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 তৈরি করবেন, তখন আপনার অ্যাপটি যে কাস্টম URL স্কিম ব্যবহার করে তা নির্দিষ্ট করতে হবে। আপনি Firebase কনসোলের মাধ্যমে এটি করতে পারেন, Builder API-তে customScheme সেট করে, আপনার URL-এ ius প্যারামিটার নির্দিষ্ট করে, অথবা iosCustomScheme প্যারামিটারটি REST API-তে পাঠাতে পারেন।

পরবর্তী পদক্ষেপ

এখন যেহেতু আপনি Dynamic Links তৈরি করেছেন, আপনাকে আপনার অ্যাপ সেট আপ করতে হবে যাতে Dynamic Links গ্রহণ করা যায় এবং ব্যবহারকারীরা সেগুলি খোলার পরে আপনার অ্যাপের সঠিক স্থানে ব্যবহারকারীদের পাঠাতে পারে।

আপনার অ্যাপে Dynamic Links পেতে, iOS , Android , C++ , এবং Unity এর ডকুমেন্টেশন দেখুন।