สร้างลิงก์แบบไดนามิกบน iOS

คุณสร้างลิงก์แบบไดนามิกแบบสั้นหรือแบบยาวได้ด้วย Firebase Dynamic Links Builder API API นี้ยอมรับลิงก์แบบไดนามิกแบบยาวหรือออบเจ็กต์ที่มีลิงก์แบบไดนามิก และแสดง URL เหมือนตัวอย่างต่อไปนี้

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

ข้อกำหนดเบื้องต้น

ก่อนเริ่มต้น ให้เพิ่ม Firebase ลงใน iOS โปรเจ็กต์

ใช้ Swift Package Manager เพื่อติดตั้งและจัดการทรัพยากร Dependency ของ Firebase

  1. เปิดโปรเจ็กต์แอปใน Xcode แล้วไปที่ไฟล์ > เพิ่มแพ็กเกจ
  2. เมื่อได้รับข้อความแจ้ง ให้เพิ่มที่เก็บ SDK สำหรับแพลตฟอร์ม Firebase ของ Apple ดังนี้
  3.   https://github.com/firebase/firebase-ios-sdk.git
  4. เลือกไลบรารีลิงก์แบบไดนามิก
  5. เพิ่มแฟล็ก -ObjC ลงในส่วนแฟล็ก Linker อื่นๆ ของการตั้งค่าบิลด์ของเป้าหมาย
  6. เพื่อให้ได้รับประสบการณ์ที่ดีที่สุดในการใช้ลิงก์แบบไดนามิก เราขอแนะนำ การเปิดใช้ Google Analytics ในโปรเจ็กต์ Firebase และเพิ่ม Firebase SDK สำหรับ Google Analytics ลงในแอป คุณสามารถ ให้เลือกไลบรารีที่ไม่มีการรวบรวม IDFA หรือมีคอลเล็กชัน IDFA
  7. เมื่อเสร็จแล้ว Xcode จะเริ่มแก้ปัญหาและดาวน์โหลด ทรัพยากร Dependency ในเบื้องหลัง

โดยทำตามขั้นตอนการกำหนดค่าต่อไปนี้

  1. ในคอนโซล Firebase ให้เปิดส่วนลิงก์แบบไดนามิก
  2. หากคุณยังไม่ได้ยอมรับข้อกำหนดในการให้บริการและตั้งค่าคำนำหน้า URI สำหรับลิงก์แบบไดนามิกของคุณ ให้ดำเนินการเมื่อได้รับข้อความแจ้ง

    หากมีคำนำหน้า URI ของลิงก์แบบไดนามิกอยู่แล้ว ให้จดบันทึกไว้ สิ่งที่คุณต้องทำ ให้ไว้เมื่อคุณสร้างลิงก์แบบไดนามิกโดยอัตโนมัติ

  3. แนะนำ: ระบุรูปแบบ URL ที่อนุญาตใน Deep Link และลิงก์สำรอง การทำเช่นนี้จะเป็นการป้องกันไม่ให้บุคคลที่ไม่ได้รับอนุญาตสามารถ สร้างลิงก์แบบไดนามิกที่เปลี่ยนเส้นทางจากโดเมนของคุณไปยังเว็บไซต์ที่คุณควบคุม ดูอนุญาตบางรายการ รูปแบบ 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 และ 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. กําหนดค่า FirebaseApp อินสแตนซ์ที่แชร์ใน เมธอด application(_:didFinishLaunchingWithOptions:):

    SwiftUI

    // 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 คุณต้องปิดใช้ SWizzing ที่มอบสิทธิ์ของแอปด้วย สำหรับ สำหรับข้อมูลเพิ่มเติม โปรดดูวิธีการของ 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 และสร้างด้วยตนเองตามแบบฟอร์มทีละขั้นตอน

ใช้ 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);
}];
      

คุณสามารถใช้ Dynamic Link Builder API เพื่อสร้างลิงก์แบบไดนามิกที่มี พารามิเตอร์ที่รองรับ โปรดดู ข้อมูลอ้างอิง API สำหรับรายละเอียด

ตัวอย่างต่อไปนี้สร้างลิงก์แบบไดนามิกที่มีพารามิเตอร์ทั่วไปหลายรายการ ตั้งค่า:

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

คุณตั้งค่าพารามิเตอร์ลิงก์แบบไดนามิกกับออบเจ็กต์และพร็อพเพอร์ตี้ต่อไปนี้ได้

DynamicLinkComponents
ลิงก์

ลิงก์ที่แอปของคุณจะเปิดขึ้น ระบุ URL ที่แอปสามารถจัดการได้ ซึ่งโดยทั่วไปจะเป็นเนื้อหาของแอป หรือเพย์โหลด ซึ่งเป็นการเริ่มต้นตรรกะเฉพาะแอป (เช่น ให้เครดิตผู้ใช้ด้วยคูปอง หรือ แสดงหน้าจอต้อนรับ) ลิงก์นี้ต้องเป็น URL ที่มีรูปแบบเหมาะสม มีการเข้ารหัส URL อย่างถูกต้อง ใช้ HTTP หรือ HTTPS และไม่สามารถเป็นลิงก์แบบไดนามิกอื่นได้

คำนำหน้าโดเมน URI คำนำหน้า URL ของลิงก์แบบไดนามิก ซึ่งดูได้ในคอนโซล Firebase ต โดเมนของลิงก์แบบไดนามิกมีลักษณะดังตัวอย่างต่อไปนี้
https://example.com/link
https://example.page.link
DynamicLinkAndroidParameters
URL สำรอง ลิงก์ที่จะเปิดเมื่อไม่ได้ติดตั้งแอป โดยให้ระบุการดำเนินการนี้เพื่อดำเนินการอื่นที่ไม่ใช่การติดตั้งแอปจาก Play Store เมื่อไม่ได้ติดตั้งแอปดังกล่าว เช่น เปิดเนื้อหาเวอร์ชันเว็บบนอุปกรณ์เคลื่อนที่ หรือแสดงหน้าโปรโมตสำหรับแอป
เวอร์ชันขั้นต่ำ versionCode ของแอปเวอร์ชันต่ำสุดที่สามารถเปิดลิงก์ได้ หากแอปที่ติดตั้งเป็นเวอร์ชันเก่า ระบบจะนำผู้ใช้ไปที่ Play Store เพื่ออัปเกรดแอป
พารามิเตอร์ DynamicLinkIOS
รหัส App Store รหัส App Store ของแอปซึ่งใช้เพื่อส่งผู้ใช้ไปยัง App Store เมื่อไม่ได้ติดตั้งแอป
URL สำรอง ลิงก์ที่จะเปิดเมื่อไม่ได้ติดตั้งแอป ระบุสิ่งนี้เพื่อดำเนินการอื่นนอกเหนือจากการติดตั้งแอปจาก App Store เมื่อไม่มีการติดตั้งแอป เช่น เปิดเนื้อหาเวอร์ชันเว็บบนอุปกรณ์เคลื่อนที่ หรือแสดงหน้าโปรโมตสำหรับแอป
รูปแบบที่กำหนดเอง ชุดรูปแบบ URL ที่กำหนดเองของแอป หากกำหนดให้เป็นรูปแบบอื่นที่ไม่ใช่รหัสชุดของแอป
URL ทางเลือกสำหรับ iPad ลิงก์ที่จะเปิดใน iPad เมื่อไม่ได้ติดตั้งแอป ระบุสิ่งนี้เพื่อดำเนินการอื่นนอกเหนือจากการติดตั้งแอปจาก App Store เมื่อไม่มีการติดตั้งแอป เช่น เปิดเนื้อหาเวอร์ชันเว็บ หรือแสดงหน้าโปรโมชันสำหรับแอป
รหัสแพ็กเกจ iPad รหัสชุดของแอป iOS ที่จะใช้ใน iPad เพื่อเปิดลิงก์ โดยแอปต้องเชื่อมต่อกับโปรเจ็กต์จากหน้าภาพรวมของคอนโซล Firebase
เวอร์ชันแอปขั้นต่ำ หมายเลขเวอร์ชันของแอปเวอร์ชันขั้นต่ำที่สามารถเปิดลิงก์ได้ ระบบจะส่งแฟล็กนี้ไปยังแอปของคุณเมื่อมีการเปิดแอป และแอปจะต้องตัดสินใจว่าจะทำอย่างไรกับการแจ้งเตือนดังกล่าว
พารามิเตอร์ลิงก์การนำทางแบบไดนามิก
forceRedirectEnabled หากตั้งค่าเป็น "1" ให้ข้ามหน้าตัวอย่างแอปเมื่อเปิดลิงก์แบบไดนามิก และเปลี่ยนเส้นทางไปยังแอปหรือ Store แทน หน้าตัวอย่างแอป (เปิดใช้โดยค่าเริ่มต้น) จะส่งผู้ใช้ไปยังปลายทางที่เหมาะสมที่สุดได้อย่างน่าเชื่อถือมากขึ้นเมื่อเปิดลิงก์แบบไดนามิกในแอป อย่างไรก็ตาม หากคุณคาดว่าลิงก์แบบไดนามิกจะเปิดเฉพาะในแอปที่สามารถเปิดลิงก์แบบไดนามิกได้อย่างเสถียรโดยไม่ต้องใช้หน้านี้ คุณก็ปิดใช้ได้ด้วยพารามิเตอร์นี้ พารามิเตอร์นี้จะส่งผลต่อลักษณะการทำงานของลิงก์แบบไดนามิกเฉพาะบน iOS เท่านั้น
พารามิเตอร์เมตาแท็กลิงก์โซเชียลแบบไดนามิก
ตำแหน่ง ชื่อที่จะใช้เมื่อแชร์ลิงก์แบบไดนามิกในโพสต์บนโซเชียลเน็ตเวิร์ก
ข้อความคำอธิบาย คำอธิบายที่จะใช้เมื่อแชร์ลิงก์แบบไดนามิกในโพสต์บนโซเชียลเน็ตเวิร์ก
URL รูปภาพ URL ไปยังรูปภาพที่เกี่ยวข้องกับลิงก์นี้ รูปภาพควรมีขนาดอย่างน้อย 300x200 พิกเซล และเล็กกว่า 300 KB
พารามิเตอร์ Google AnalyticsAnalytics
แหล่งที่มา
สื่อ
แคมเปญ
คำ
เนื้อหา
พารามิเตอร์ Analytics ของ Google Play พารามิเตอร์เหล่านี้ (utm_source utm_medium utm_campaign, utm_term, utm_content) จะส่งไปยัง Play Store รวมถึงเพย์โหลดลิงก์ต่อท้าย
พารามิเตอร์ DynamicLinkItunesConnectAnalytics
providerToken
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 ไปยัง API ของ REST

ขั้นตอนถัดไป

ตอนนี้คุณได้สร้างลิงก์แบบไดนามิกแล้ว คุณจะต้องตั้งค่าแอปเพื่อรับ ลิงก์แบบไดนามิก และนำผู้ใช้ไปยังตำแหน่งที่ถูกต้องในแอปหลังจากที่ผู้ใช้เปิดลิงก์นั้น

ในการรับลิงก์แบบไดนามิกในแอป โปรดดูเอกสารประกอบสำหรับ iOS Android C++ และ Unity