إنشاء روابط ديناميكية على نظام التشغيل iOS

يمكنك إنشاء روابط ديناميكية قصيرة أو طويلة باستخدام واجهة برمجة تطبيقات أداة إنشاء الروابط الديناميكية على Firebase. تقبل واجهة برمجة التطبيقات هذه إما رابطًا ديناميكيًا طويل أو كائنًا يحتوي على معلمات رابط ديناميكي، وتعرض عناوين URL مثل الأمثلة التالية:

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

المتطلّبات الأساسية

قبل البدء، تأكَّد من إضافة Firebase إلى مشروع iOS.

يمكنك استخدام "مدير حزم Swift" لتثبيت اعتماديات Firebase وإدارتها.

  1. في Xcode، بعد فتح مشروع تطبيقك، انتقِل إلى File > Add Packages (ملف > إضافة حِزم).
  2. أضِف مستودع حزمة تطوير البرامج (SDK) لمنصّات Firebase Apple عندما يُطلب منك ذلك:
  3.   https://github.com/firebase/firebase-ios-sdk.git
  4. اختَر مكتبة "الروابط الديناميكية".
  5. أضِف العلامة -ObjC إلى القسم علامات الروابط الأخرى في إعدادات إصدار هدفك.
  6. للحصول على أفضل تجربة لاستخدام الروابط الديناميكية، نقترح تفعيل "إحصاءات Google" في مشروعك على Firebase وإضافة حزمة تطوير البرامج (SDK) لمنصّة Firebase الخاصّة بخدمة "إحصاءات Google" إلى تطبيقك. يمكنك اختيار المكتبة التي لا تتضمّن جمع معرّف المعلِنين (IDFA) أو من خلال جمع معرّف المعلِنين (IDFA).
  7. عند الانتهاء، ستبدأ خدمة Xcode تلقائيًا في حلّ المشاكل المتعلّقة بالعناصر التي تعتمد عليها وتنزيلها في الخلفية.

والآن، نفِّذ بعض خطوات الضبط:

  1. في "وحدة تحكُّم Firebase"، افتح قسم الروابط الديناميكية.
  2. إذا لم تكن قد قبلت بنود الخدمة واخترت بادئة معرّف موارد منتظم (URI) للروابط الديناميكية، عليك إجراء ذلك عندما يُطلب منك ذلك.

    إذا كان لديك بادئة معرِّف الموارد المنتظم (URI) للروابط الديناميكية من قبل، يُرجى تدوينها. وتحتاج إلى تقديمه عند إنشاء روابط ديناميكية آليًا.

  3. إجراء يُنصح به: حدِّد أنماط عناوين URL المسموح بها في الروابط المؤدية إلى صفحات في التطبيق والروابط الاحتياطية. ومن خلال إجراء ذلك، أنت تمنع الجهات غير المصرّح لها من إنشاء روابط ديناميكية تعيد توجيه المستخدمين من نطاقك إلى مواقع إلكترونية لا تتحكّم فيها. يُرجى الاطّلاع على السماح بأنماط عناوين URL معيّنة.
  4. تأكَّد من تحديد رقم تعريف تطبيقك على App Store وبادئة معرّف التطبيق في إعدادات تطبيقك. للاطّلاع على إعدادات تطبيقك وتعديلها، انتقِل إلى صفحة الإعدادات في مشروع Firebase واختَر تطبيق iOS.

    تأكّد من إعداد مشروع Firebase بطريقة صحيحة لاستخدام الروابط الديناميكية في تطبيق iOS، وذلك عن طريق فتح ملف apple-app-site-association المستضاف على نطاق الروابط الديناميكية. سيعرض 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. يمكنك استيراد وحدة FirebaseCore في UIApplicationDelegate، بالإضافة إلى أي وحدات Firebase أخرى يستخدمها المستخدم المفوَّض في تطبيقك. على سبيل المثال، لاستخدام Cloud Firestore والمصادقة:

    واجهة المستخدم

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

    Swift

    import FirebaseCore
    import FirebaseFirestore
    import FirebaseAuth
    // ...
          

    Objective-C

    @import FirebaseCore;
    @import FirebaseFirestore;
    @import FirebaseAuth;
    // ...
          
  2. يمكنك ضبط المثيل المشترك ضمن FirebaseApp في طريقة application(_:didFinishLaunchingWithOptions:) الخاصة بمفوَّض تطبيقك:

    واجهة المستخدم

    // 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، عليك إنشاء تفويض تطبيق وإرفاقه ببنية App من خلال UIApplicationDelegateAdaptor أو NSApplicationDelegateAdaptor. ويجب أيضًا إيقاف إيماءة تفويض التطبيق. لمزيد من المعلومات، راجِع تعليمات 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 وإنشاء رابط يدويًا من خلال اتّباع النموذج المفصّل.

استخدام iOS Builder API

يمكنك استخدام iOS Builder API لإنشاء روابط ديناميكية من المَعلمات، أو لتقصير رابط ديناميكي طويل.

لإنشاء رابط ديناميكي، أنشِئ كائن DynamicLinkComponents جديدًا وحدِّد معلَمات الرابط الديناميكي من خلال إعداد السمات المقابلة للعنصر. بعد ذلك، يمكنك الحصول على الرابط الطويل من السمة url الخاصة بالكائن أو الحصول على الرابط القصير من خلال طلب shorten().

المثال المصغر التالي ينشئ رابطًا ديناميكيًا طويلاً إلى https://www.example.com/my-page يتم فتحه باستخدام تطبيق iOS على iOS وتطبيق com.example.android على 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);

لإنشاء رابط ديناميكي قصير، أنشِئ 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);
}];
      

يتم تلقائيًا إنشاء الروابط الديناميكية القصيرة باستخدام لاحقات روابط مكوّنة من 17 حرفًا، ما يجعل من غير المرجّح على الإطلاق أن يتمكّن أحد المستخدمين من تخمين رابط ديناميكي صالح. بالنسبة إلى حالة الاستخدام، لم ينجح أي شخص في تخمين رابط قصير، وقد تفضّل إنشاء لاحقات تكون بالمدة اللازمة فقط لتكون فريدة، ويمكنك إجراء ذلك من خلال ضبط السمة 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);
}];
      

يمكنك استخدام واجهة برمجة تطبيقات إنشاء الروابط الديناميكية لإنشاء روابط ديناميكية باستخدام أي من المعلَمات المتوافقة. يمكنك الاطّلاع على مرجع واجهة برمجة التطبيقات لمعرفة التفاصيل.

في المثال التالي، يتم إنشاء رابط ديناميكي يضم عدة معلَمات شائعة:

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);

يمكنك ضبط مَعلمات الروابط الديناميكية باستخدام العناصر والخصائص التالية:

مكونات DynamicLink
الرابط

سيفتح التطبيق الرابط. عليك تحديد عنوان URL يمكن لتطبيقك التعامل معه، وعادةً ما يكون محتوى التطبيق أو حمولة البيانات التي تبدأ منطقًا خاصًا بالتطبيق (مثل إضافة قسيمة إلى المستخدم أو عرض شاشة ترحيب). ويجب أن يكون هذا الرابط عنوان URL بتنسيق صحيح، وأن يكون بترميز عنوان URL بشكلٍ صحيح، وأن يستخدم HTTP أو HTTPS، وألا يكون رابطًا ديناميكيًا آخر.

بادئة اسم النطاق بادئة عنوان URL للرابط الديناميكي، والتي يمكنك العثور عليها في وحدة تحكُّم Firebase. يظهر نطاق الرابط الديناميكي على النحو التالي:
https://example.com/link
https://example.page.link
مَعلمات DynamicLinkAndroid
عنوان URL الاحتياطي الرابط الذي يتم فتحه عندما لا يكون التطبيق مثبَّتًا. حدِّد هذا الإجراء لتنفيذ إجراء آخر غير تثبيت التطبيق من "متجر Play" إذا كان التطبيق غير مثبَّت، مثل فتح إصدار الويب على الأجهزة الجوّالة من المحتوى أو عرض صفحة ترويجية لتطبيقك.
الحد الأدنى للإصدار تمثّل هذه السمة versionCode من الحد الأدنى لإصدار التطبيق الذي يمكنه فتح الرابط. إذا كان التطبيق المُثبَّت إصدارًا قديمًا، يتم نقل المستخدم إلى "متجر Play" لترقية التطبيق.
مَعلمات DynamicLinkIOS
رقم تعريف AppStoreID رقم تعريف تطبيقك على App Store، يُستخدَم لتوجيه المستخدمين إلى App Store عند عدم تثبيت التطبيق
عنوان URL الاحتياطي الرابط الذي يتم فتحه عندما لا يكون التطبيق مثبَّتًا. حدِّد هذا الإجراء لتنفيذ إجراء آخر غير تثبيت التطبيق من App Store في حال عدم تثبيت التطبيق، مثل فتح إصدار الويب المتوافق مع الأجهزة الجوّالة من المحتوى أو عرض صفحة ترويجية لتطبيقك.
المخطّط المخصص مخطَّط عنوان URL المخصّص لتطبيقك، إذا تم تحديده على أنّه شيء مختلف عن معرّف حزمة التطبيق
عنوان iPadFallbackURL الرابط الذي يتم فتحه على أجهزة iPad عندما يكون التطبيق غير مثبَّت. حدِّد هذا الإجراء لتنفيذ إجراء آخر غير تثبيت التطبيق من App Store في حال عدم تثبيت التطبيق، مثل فتح إصدار الويب من المحتوى أو عرض صفحة ترويجية لتطبيقك.
معرِّف الحِزمة iPadBundleID رقم تعريف حزمة تطبيق iOS المطلوب استخدامه على أجهزة iPad لفتح الرابط يجب ربط التطبيق بمشروعك من صفحة النظرة العامة في وحدة تحكُّم Firebase.
الحد الأدنى من AppVersion رقم الإصدار من أدنى إصدار من تطبيقك يمكنه فتح الرابط. يتم تمرير هذه العلامة إلى تطبيقك عند فتحه، وعلى التطبيق تحديد الإجراء الذي سيتم اتخاذه بشأنه.
مَعلمات DynamicLinkالتنقلInfo
forcedredirectEnabled في حال الضبط على "1"، يمكنك تخطّي صفحة معاينة التطبيق عند فتح الرابط الديناميكي، وإعادة التوجيه إلى التطبيق أو المتجر بدلاً من ذلك. يمكن لصفحة معاينة التطبيق (المفعَّلة تلقائيًا) أن ترسِل المستخدمين إلى الوجهة الأكثر ملاءمةً عند فتح "الروابط الديناميكية" في التطبيقات، ومع ذلك، إذا كنت تتوقّع أن يتم فتح رابط ديناميكي فقط في التطبيقات التي يمكنها فتح "الروابط الديناميكية" بشكل موثوق بدون هذه الصفحة، يمكنك إيقافها باستخدام هذه المَعلمة. ستؤثّر هذه المَعلمة في سلوك الرابط الديناميكي على نظام التشغيل iOS فقط.
مَعلمات DynamicLinkSocialMetaTagمَعلمات
العنوان العنوان المستخدم عند نشر الرابط الديناميكي في مشاركة اجتماعية.
نص الوصف الوصف المستخدم عند نشر الرابط الديناميكي في مشاركة اجتماعية.
imageURL (عنوان URL للصورة) تمثّل هذه السمة عنوان URL لصورة ذات صلة بهذا الرابط. يجب ألا يقلّ حجم الصورة عن 300 × 200 بكسل وألا يزيد عن 300 كيلوبايت.
مَعلمات DynamicLinkGoogleAnalytics
مصدر
متوسط
حملة
عبارة
محتوى
مَعلمات "إحصاءات Google Play" يتم تمرير هذه المعلمات (utm_source وutm_medium وutm_campaign وutm_term وutm_content) إلى "متجر Play" ويتم إلحاقها بحمولة الروابط.
DynamicLinkItunesConnectAnalyticsparameters
موفِّر الرمز المميّز
affiliateToken
campaignToken
معلَمات إحصاءات iTunes Connect يتم تمرير هذه المعلمات (pt وat وct) إلى App Store.

لتقصير رابط ديناميكي طويل، مرِّر الرابط الديناميكي الطويل إلى 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);
}];

تستخدم الروابط الديناميكية تلقائيًا معرِّف حِزمة تطبيقك باعتباره مخطط عنوان URL المطلوب لفتح تطبيقك. ننصحك بالاعتماد على هذه القيمة التلقائية لتبسيط عملية التنفيذ.

في المقابل، إذا كان المطوّرون يستخدمون نظام عنوان URL مخصّصًا لأغراض أخرى، قد يريدون استخدام مخطط عنوان URL المخصّص نفسه مع روابطهم الديناميكية أيضًا. إذا واجهتك هذه الحالة، يمكنك تحديد مخطط عنوان URL مختلف لروابط Firebase الديناميكية من خلال اتّباع الخطوات التالية:

  1. عند إعداد تطبيقك، تأكّد من تحديد مخطط عنوان URL التلقائي الذي سيستخدمه تطبيقك قبل ضبط المثيل المشترك لتطبيق 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. عند إنشاء أي رابط ديناميكي، ستحتاج إلى تحديد مخطط عنوان URL المخصّص الذي يستخدمه تطبيقك. يمكنك إجراء ذلك من خلال وحدة تحكُّم Firebase، أو ضبط customScheme في Builder API، أو تحديد مَعلمة ius في عنوان URL، أو إرسال المَعلمة iosCustomScheme إلى REST API.

الخطوات اللاحقة

الآن وبعد إنشاء الروابط الديناميكية، تحتاج إلى إعداد تطبيقك لتلقّي الروابط الديناميكية وإرسال المستخدمين إلى المكان المناسب في تطبيقك بعد أن يفتحهم المستخدم.

لتلقّي الروابط الديناميكية في تطبيقك، يمكنك الاطّلاع على مستندات iOS وAndroid وC++ وUnity.