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

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

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

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

  3. แนะนำ: ระบุรูปแบบ URL ที่อนุญาตให้ใช้ใน Deep Link และลิงก์สำรอง การดำเนินการนี้จะป้องกันไม่ให้บุคคลที่ไม่ได้รับอนุญาตสร้าง Dynamic Links ที่เปลี่ยนเส้นทางจากโดเมนของคุณไปยังเว็บไซต์ที่คุณไม่ได้ควบคุม ดู อนุญาตรูปแบบ URL ที่เฉพาะเจาะจง
  4. ตรวจสอบว่าได้ระบุ App Store ID ของแอปและคำนำหน้า App 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 ให้ทำดังนี้
    SwiftUISwiftObjective-C
    import SwiftUI
    import FirebaseCore
    import FirebaseFirestore
    import FirebaseAuth
    // ...
          
    import FirebaseCore
    import FirebaseFirestore
    import FirebaseAuth
    // ...
          
    @import FirebaseCore;
    @import FirebaseFirestore;
    @import FirebaseAuth;
    // ...
          
  2. กำหนดค่า FirebaseApp อินสแตนซ์ที่แชร์ใน เมธอด application(_:didFinishLaunchingWithOptions:) ของตัวแทนแอป
    SwiftUISwiftObjective-C
    // 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 คุณต้องสร้างตัวแทนแอปพลิเคชันและแนบไปกับโครงสร้าง 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

SwiftObjective-C
หมายเหตุ: ผลิตภัณฑ์ 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() จะยอมรับตัวแฮนเดิลการดำเนินการให้เสร็จสมบูรณ์ ซึ่ง จะเรียกใช้เมื่อคำขอเสร็จสมบูรณ์ เช่น

SwiftObjective-C
หมายเหตุ: ผลิตภัณฑ์ 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 ดังนี้

SwiftObjective-C
หมายเหตุ: ผลิตภัณฑ์ 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 Link Builder API เพื่อสร้าง Dynamic Links ด้วยพารามิเตอร์ที่รองรับได้ ดูรายละเอียดได้ที่ ข้อมูลอ้างอิง API

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

SwiftObjective-C
หมายเหตุ: ผลิตภัณฑ์ 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 ได้ด้วยออบเจ็กต์และพร็อพเพอร์ตี้ต่อไปนี้

DynamicLinkComponents
ลิงก์

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

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

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

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

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

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

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