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

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

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

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

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

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

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

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

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

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

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

    ยืนยันว่าโปรเจ็กต์ Firebase ได้รับการกำหนดค่าอย่างถูกต้องให้ใช้ Dynamic Links ในแอป 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 และ 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 นอกจากนี้ คุณยังต้องปิดใช้การสลับผู้รับมอบสิทธิ์แอปด้วย ดูข้อมูลเพิ่มเติมได้ที่วิธีการ 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

หากคุณต้องการสร้าง Dynamic Link รายการเดียว ไม่ว่าจะเพื่อวัตถุประสงค์ในการทดสอบหรือสำหรับให้ทีมการตลาดสร้างลิงก์ที่ใช้ในโซเชียลมีเดียได้ง่ายๆ เช่น โพสต์โซเชียลมีเดีย วิธีที่ง่ายที่สุดคือไปที่คอนโซล Firebase และสร้างด้วยตนเองตามแบบฟอร์มทีละขั้นตอน

ใช้ iOS Builder API

คุณสามารถใช้ iOS Builder API เพื่อสร้าง Dynamic Links จากพารามิเตอร์ หรือเพื่อย่อ Dynamic Link ที่ยาว

หากต้องการสร้าง Dynamic Link ให้สร้างออบเจ็กต์ DynamicLinkComponents ใหม่ และระบุพารามิเตอร์ Dynamic Link โดยการตั้งค่าพร็อพเพอร์ตี้ที่เกี่ยวข้องของออบเจ็กต์ จากนั้นรับลิงก์แบบยาวจากพร็อพเพอร์ตี้ url ของออบเจ็กต์ หรือรับลิงก์แบบสั้นโดยเรียกใช้ shorten()

ตัวอย่างขั้นต่ำต่อไปนี้จะสร้าง Dynamic Link ยาวไป 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);

หากต้องการสร้าง 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 โดยใช้พารามิเตอร์ที่รองรับ ดูรายละเอียดได้ที่ข้อมูลอ้างอิง API

ตัวอย่างต่อไปนี้สร้าง 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
ลิงก์

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

domainURIPrefix คำนำหน้า URL Dynamic Link ซึ่งดูได้ในคอนโซล Firebase โดเมน Dynamic Link จะมีลักษณะดังตัวอย่างต่อไปนี้
https://example.com/link
https://example.page.link
DynamicLinkAndroidParameters
URL สำรอง ลิงก์ที่จะเปิดเมื่อไม่ได้ติดตั้งแอป ระบุการดำเนินการนี้เพื่อดำเนินการอื่นๆ นอกเหนือจากการติดตั้งแอปจาก Play Store เมื่อไม่ได้ติดตั้งแอปดังกล่าว เช่น เปิดเนื้อหาเวอร์ชันเว็บบนอุปกรณ์เคลื่อนที่ หรือแสดงหน้าโปรโมตสำหรับแอป
minimumVersion versionCode ของแอปเวอร์ชันขั้นต่ำที่สามารถเปิดลิงก์ได้ หากแอปที่ติดตั้งเป็นเวอร์ชันเก่า ระบบจะนำผู้ใช้ไปยัง Play Store เพื่ออัปเกรดแอป
พารามิเตอร์ DynamicLinkIOS
รหัส App Store รหัส App Store ของแอป ซึ่งใช้เพื่อส่งผู้ใช้ไปยัง App Store เมื่อไม่ได้ติดตั้งแอป
URL สำรอง ลิงก์ที่จะเปิดเมื่อไม่ได้ติดตั้งแอป ระบุค่านี้เพื่อดำเนินการอย่างอื่นนอกเหนือจากการติดตั้งแอปจาก App Store เมื่อไม่ได้ติดตั้งแอป เช่น เปิดเนื้อหาเวอร์ชันเว็บบนอุปกรณ์เคลื่อนที่ หรือแสดงหน้าโปรโมตสําหรับแอป
customScheme ชุดรูปแบบ URL ที่กำหนดเองของแอป หากกำหนดให้เป็นรูปแบบอื่นที่ไม่ใช่รหัสชุดของแอป
iPadFallbackURL ลิงก์ที่จะเปิดใน iPad เมื่อไม่ได้ติดตั้งแอป ระบุสิ่งนี้เพื่อดำเนินการอื่นนอกเหนือจากการติดตั้งแอปจาก App Store เมื่อไม่มีการติดตั้งแอป เช่น เปิดเนื้อหาเวอร์ชันเว็บ หรือแสดงหน้าโปรโมชันสำหรับแอป
iPadBundleID รหัสกลุ่มของแอป iOS ที่จะใช้ใน iPad เพื่อเปิดลิงก์ แอปต้องเชื่อมต่อกับโปรเจ็กต์จากหน้าภาพรวมของคอนโซล Firebase
minimumAppVersion หมายเลขเวอร์ชันของแอปเวอร์ชันต่ำสุดที่เปิดลิงก์ได้ ระบบจะส่ง Flag นี้ไปยังแอปเมื่อเปิดแอป และแอปจะต้องตัดสินใจว่าจะทำอย่างไรกับ Flag นี้
พารามิเตอร์ลิงก์การนำทางแบบไดนามิก
forceRedirectEnabled หากตั้งค่าเป็น "1" ให้ข้ามหน้าตัวอย่างแอปเมื่อเปิด Dynamic Link และเปลี่ยนเส้นทางไปยังแอปหรือ Store แทน หน้าตัวอย่างแอป (เปิดใช้โดยค่าเริ่มต้น) สามารถส่งผู้ใช้ไปยังปลายทางที่เหมาะสมที่สุดได้เมื่อเปิด Dynamic Links ในแอป อย่างไรก็ตาม หากคุณต้องการให้เปิด Dynamic Link เฉพาะในแอปที่เปิด Dynamic Links ได้โดยไม่ใช้หน้านี้ คุณปิดใช้หน้านี้ได้โดยใช้พารามิเตอร์นี้ พารามิเตอร์นี้จะส่งผลต่อลักษณะการทำงานของ Dynamic Link เฉพาะใน iOS เท่านั้น
พารามิเตอร์เมตาแท็กลิงก์โซเชียลแบบไดนามิก
ตำแหน่ง ชื่อที่จะใช้เมื่อแชร์ Dynamic Link ในโพสต์โซเชียล
ข้อความคำอธิบาย คำอธิบายที่จะใช้เมื่อมีการแชร์ Dynamic Link ในโพสต์บนโซเชียลเน็ตเวิร์ก
imageURL URL ของรูปภาพที่เกี่ยวข้องกับลิงก์นี้ รูปภาพควรมีขนาดอย่างน้อย 300x200 พิกเซล และเล็กกว่า 300 KB
พารามิเตอร์ Google AnalyticsAnalytics
source
medium
campaign
term
content
พารามิเตอร์ Analytics ของ 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 แบบยาว ให้ส่ง 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 จะใช้ตัวระบุชุดของแอปเป็นรูปแบบ URL ที่จำเป็นต่อการเปิดแอปพลิเคชัน เราขอแนะนําให้ใช้ค่าเริ่มต้นนี้ต่อไปเพื่อให้การติดตั้งใช้งานง่ายขึ้น

อย่างไรก็ตาม นักพัฒนาซอฟต์แวร์ที่ใช้รูปแบบ URL ที่กำหนดเองเพื่อวัตถุประสงค์อื่นอยู่แล้วอาจต้องการใช้ชุดรูปแบบ URL ที่กำหนดเองเดียวกันนี้สำหรับ Dynamic Links ของตนด้วย ในกรณีนี้ คุณสามารถระบุรูปแบบ URL อื่นสําหรับ Firebase Dynamic Links ได้โดยทําตามขั้นตอนต่อไปนี้

  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. เมื่อใดก็ตามที่คุณสร้าง Dynamic Link คุณจะต้องระบุรูปแบบ URL ที่กำหนดเองที่แอปใช้ ซึ่งทำได้ผ่านคอนโซล Firebase โดยตั้งค่า customScheme ใน Builder API โดยระบุพารามิเตอร์ ius ใน URL หรือส่งพารามิเตอร์ iosCustomScheme ไปยัง REST API

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

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

หากต้องการรับ Dynamic Links ในแอปของคุณ โปรดดูเอกสารประกอบสำหรับ iOS, Android, C++ และ Unity