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

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

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

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

ก่อนที่คุณจะเริ่มต้น อย่าลืม เพิ่ม Firebase ลงในโปรเจ็กต์ iOS ของคุณ

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

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

ตอนนี้ให้ทำตามขั้นตอนการกำหนดค่าบางอย่าง:

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

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

  3. แนะนำ : ระบุรูปแบบ URL ที่อนุญาตในลิงก์ในรายละเอียดและลิงก์สำรองของคุณ การทำเช่นนี้จะเป็นการป้องกันไม่ให้บุคคลที่ไม่ได้รับอนุญาตสร้างลิงก์แบบไดนามิกที่เปลี่ยนเส้นทางจากโดเมนของคุณไปยังไซต์ที่คุณไม่ได้ควบคุม ดู อนุญาตรูปแบบ URL ที่เฉพาะเจาะจง
  4. ตรวจสอบให้แน่ใจว่าได้ระบุรหัส App Store ของแอปและคำนำหน้ารหัสแอปของคุณในการตั้งค่าของแอป หากต้องการดูและแก้ไขการตั้งค่าแอปของคุณ ให้ไปที่ หน้าการตั้งค่า ของโปรเจ็กต์ Firebase และเลือกแอป iOS ของคุณ

    ยืนยันว่าโปรเจ็กต์ Firebase ของคุณได้รับการกำหนดค่าอย่างถูกต้องเพื่อใช้ลิงก์แบบไดนามิกในแอป iOS ของคุณโดยเปิดไฟล์ apple-app-site-association ที่โฮสต์บนโดเมน 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. นำเข้าโมดูล FirebaseCore ใน UIApplicationDelegate ของคุณ รวมถึง โมดูล Firebase อื่นๆ ที่แอปของคุณมอบหมายใช้ ตัวอย่างเช่น หากต้องการใช้ Cloud Firestore และการตรวจสอบสิทธิ์ ให้ทำดังนี้

    SwiftUI

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

    สวิฟท์

    import FirebaseCore
    import FirebaseFirestore
    import FirebaseAuth
    // ...
          

    วัตถุประสงค์-C

    @import FirebaseCore;
    @import FirebaseFirestore;
    @import FirebaseAuth;
    // ...
          
  2. กำหนดค่าอินสแตนซ์ที่ใช้ร่วมกันของ FirebaseApp ใน application(_:didFinishLaunchingWithOptions:) ของผู้รับมอบสิทธิ์แอปของคุณ:

    SwiftUI

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

    สวิฟท์

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

    วัตถุประสงค์-C

    // Use Firebase library to configure APIs
    [FIRApp configure];
  3. หากคุณใช้ SwiftUI คุณต้องสร้างผู้แทนแอปพลิเคชันและแนบไปกับโครงสร้าง App ของคุณผ่าน UIApplicationDelegateAdaptor หรือ NSApplicationDelegateAdaptor คุณต้องปิดใช้งานการสลับตัวแทนของแอปด้วย สำหรับข้อมูลเพิ่มเติม โปรดดู คำแนะนำ 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:

สวิฟท์

หมายเหตุ: ผลิตภัณฑ์ 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)")

วัตถุประสงค์-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() ยอมรับตัวจัดการการเสร็จสิ้น ซึ่งจะถูกเรียกเมื่อคำขอเสร็จสมบูรณ์ ตัวอย่างเช่น:

สวิฟท์

หมายเหตุ: ผลิตภัณฑ์ 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)")
}

วัตถุประสงค์-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 :

สวิฟท์

หมายเหตุ: ผลิตภัณฑ์ 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)")
}

วัตถุประสงค์-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 สำหรับรายละเอียด

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

สวิฟท์

หมายเหตุ: ผลิตภัณฑ์ 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)")

วัตถุประสงค์-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);

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

ส่วนประกอบไดนามิกลิงค์
ลิงค์

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

โดเมนURIPrefix คำนำหน้า URL ลิงก์แบบไดนามิกของคุณ ซึ่งคุณดูได้ในคอนโซล Firebase โดเมนลิงก์แบบไดนามิกมีลักษณะเหมือนตัวอย่างต่อไปนี้:
https://example.com/link
https://example.page.link
พารามิเตอร์ DynamicLinkAndroid
URL ทางเลือก ลิงก์สำหรับเปิดเมื่อไม่ได้ติดตั้งแอป ระบุการดำเนินการนี้เพื่อทำอย่างอื่นนอกเหนือจากการติดตั้งแอปของคุณจาก Play Store เมื่อไม่ได้ติดตั้งแอป เช่น เปิดเนื้อหาเวอร์ชันเว็บบนมือถือ หรือแสดงหน้าส่งเสริมการขายสำหรับแอปของคุณ
เวอร์ชันขั้นต่ำ versionCode ของเวอร์ชันขั้นต่ำของแอปที่สามารถเปิดลิงก์ได้ หากแอปที่ติดตั้งเป็นเวอร์ชันเก่า ผู้ใช้จะถูกพาไปที่ Play Store เพื่ออัปเกรดแอป
พารามิเตอร์ DynamicLinkIOS
แอพสโตร์ไอดี รหัส App Store ของแอปของคุณ ซึ่งใช้เพื่อส่งผู้ใช้ไปยัง App Store เมื่อไม่ได้ติดตั้งแอป
URL ทางเลือก ลิงก์สำหรับเปิดเมื่อไม่ได้ติดตั้งแอป ระบุการดำเนินการนี้เพื่อทำอย่างอื่นนอกเหนือจากการติดตั้งแอปของคุณจาก App Store เมื่อไม่ได้ติดตั้งแอป เช่น เปิดเนื้อหาเวอร์ชันเว็บบนมือถือ หรือแสดงหน้าส่งเสริมการขายสำหรับแอปของคุณ
แผนงานแบบกำหนดเอง Scheme URL ที่กำหนดเองของแอป หากกำหนดให้เป็นสิ่งอื่นที่ไม่ใช่รหัสชุดของแอป
iPadFallbackURL ลิงก์สำหรับเปิดบน iPad เมื่อไม่ได้ติดตั้งแอป ระบุการดำเนินการนี้เพื่อทำอย่างอื่นนอกเหนือจากการติดตั้งแอปของคุณจาก App Store เมื่อไม่ได้ติดตั้งแอป เช่น เปิดเนื้อหาเวอร์ชันเว็บ หรือแสดงหน้าส่งเสริมการขายสำหรับแอปของคุณ
iPadBundleID ID ชุดของแอพ iOS ที่จะใช้บน iPad เพื่อเปิดลิงก์ แอปจะต้องเชื่อมต่อกับโปรเจ็กต์ของคุณจากหน้าภาพรวมของคอนโซล Firebase
ขั้นต่ำ AppVersion หมายเลขเวอร์ชัน ของเวอร์ชันขั้นต่ำของแอปที่สามารถเปิดลิงก์ได้ ธงนี้จะถูกส่งต่อไปยังแอปของคุณเมื่อเปิดขึ้นมา และแอปของคุณจะต้องตัดสินใจว่าจะทำอย่างไรกับแอปนั้น
พารามิเตอร์ DynamicLinkNavigationInfo
บังคับเปลี่ยนเส้นทางเปิดใช้งานแล้ว หากตั้งค่าเป็น '1' ให้ข้ามหน้าแสดงตัวอย่างแอปเมื่อเปิดลิงก์ไดนามิก และเปลี่ยนเส้นทางไปยังแอปหรือร้านค้าแทน หน้าแสดงตัวอย่างแอป (เปิดใช้งานโดยค่าเริ่มต้น) สามารถส่งผู้ใช้ไปยังปลายทางที่เหมาะสมที่สุดได้อย่างน่าเชื่อถือมากขึ้นเมื่อเปิดลิงก์แบบไดนามิกในแอป อย่างไรก็ตาม หากคุณคาดว่าไดนามิกลิงก์จะเปิดได้เฉพาะในแอปที่สามารถเปิดไดนามิกลิงก์ได้อย่างน่าเชื่อถือโดยไม่มีหน้านี้ คุณสามารถปิดใช้งานลิงก์ไดนามิกได้ด้วยพารามิเตอร์นี้ พารามิเตอร์นี้จะส่งผลต่อการทำงานของไดนามิกลิงก์บน iOS เท่านั้น
พารามิเตอร์ DynamicLinkSocialMetaTag
ชื่อ ชื่อที่จะใช้เมื่อแชร์ไดนามิกลิงก์ในโพสต์โซเชียล
คำอธิบายข้อความ คำอธิบายที่จะใช้เมื่อมีการแชร์ลิงก์แบบไดนามิกในโพสต์โซเชียล
URL รูปภาพ URL ไปยังรูปภาพที่เกี่ยวข้องกับลิงก์นี้ รูปภาพควรมีขนาดอย่างน้อย 300x200 พิกเซล และน้อยกว่า 300 KB
พารามิเตอร์ DynamicLinkGoogleAnalytics
แหล่งที่มา
ปานกลาง
แคมเปญ
ภาคเรียน
เนื้อหา
พารามิเตอร์การวิเคราะห์ของ Google Play พารามิเตอร์เหล่านี้ ( utm_source , utm_medium , utm_campaign , utm_term , utm_content ) จะถูกส่งต่อไปยัง Play Store รวมถึงต่อท้ายเพย์โหลดของลิงก์
DynamicLinkItunesConnectAnalyticsพารามิเตอร์
ผู้ให้บริการโทเค็น
AffiliateToken
แคมเปญโทเค็น
พารามิเตอร์การวิเคราะห์ของ iTunes Connect พารามิเตอร์เหล่านี้ ( pt , at , ct ) จะถูกส่งผ่านไปยัง App Store

หากต้องการย่อไดนามิกลิงก์ขนาดยาวให้สั้นลง ให้ส่งไดนามิกลิงก์ขนาดยาวเพื่อ shortenURL(url:options:) พร้อมด้วยออบเจ็กต์ DynamicLinkComponentsOptions หากคุณต้องการสร้างลิงก์ที่มีส่วนต่อท้ายแบบสั้น:

สวิฟท์

หมายเหตุ: ผลิตภัณฑ์ 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)")
}

วัตถุประสงค์-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 Dynamic Links ของคุณได้โดยทำตามขั้นตอนเหล่านี้:

  1. เมื่อตั้งค่าแอป ตรวจสอบให้แน่ใจว่าคุณระบุรูปแบบ URL เริ่มต้นที่จะใช้โดยแอปพลิเคชันของคุณก่อนที่จะกำหนดค่าอินสแตนซ์ที่ใช้ร่วมกันของ FirebaseApp :

    สวิฟท์

    หมายเหตุ: ผลิตภัณฑ์ 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
    }
    

    วัตถุประสงค์-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