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

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

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

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

ก่อนเริ่มต้น ให้ตรวจสอบว่าได้เพิ่ม Firebase ลงในโปรเจ็กต์ iOS แล้ว

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

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

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

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

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

  3. แนะนำ: ระบุรูปแบบ URL ที่อนุญาตให้ใช้ใน Deep Link และลิงก์สำรอง การดำเนินการนี้จะป้องกันไม่ให้บุคคลที่ไม่ได้รับอนุญาตจาก สร้างDynamic Linksที่เปลี่ยนเส้นทางจากโดเมนของคุณไปยังเว็บไซต์ที่คุณไม่ได้ควบคุม ดู อนุญาตรูปแบบ URL ที่เฉพาะเจาะจง
  4. ตรวจสอบว่าได้ระบุรหัส App Store ของแอปและคำนำหน้ารหัสแอปแล้ว ในการตั้งค่าของแอป หากต้องการดูและแก้ไขการตั้งค่าของแอป ให้ไป ที่หน้าการตั้งค่าของโปรเจ็กต์ 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
link

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

domainURIPrefix คำนำหน้า URL Dynamic Link ซึ่งคุณดูได้ในคอนโซล Firebase โดเมน 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 Scheme ที่กำหนดเองของแอป หากกำหนดให้เป็นอย่างอื่นที่ไม่ใช่รหัสชุดของแอป
iPadFallbackURL ลิงก์ที่จะเปิดใน iPad เมื่อไม่ได้ติดตั้งแอป ระบุลิงก์นี้เพื่อดำเนินการอย่างอื่นนอกเหนือจากการติดตั้งแอปจาก App Store เมื่อไม่ได้ติดตั้งแอป เช่น เปิดเนื้อหาเวอร์ชันเว็บ หรือแสดงหน้าโปรโมตสำหรับแอป
iPadBundleID รหัสชุดของแอป iOS ที่จะใช้ใน iPad เพื่อเปิดลิงก์ แอปต้องเชื่อมต่อกับโปรเจ็กต์จากหน้าภาพรวมของคอนโซล Firebase
minimumAppVersion หมายเลข เวอร์ชัน ของแอปเวอร์ชันต่ำสุดที่เปิดลิงก์ได้ ระบบจะส่งแฟล็กนี้ไปยังแอปเมื่อเปิดแอป และแอปต้องตัดสินใจว่าจะทำอย่างไรกับแฟล็กนี้
DynamicLinkNavigationInfoParameters
forcedRedirectEnabled หากตั้งค่าเป็น '1' ให้ข้ามหน้าตัวอย่างแอปเมื่อ Dynamic Link เปิดขึ้น และเปลี่ยนเส้นทางไปยังแอปหรือ Store แทน หน้าตัวอย่างแอป (เปิดใช้โดยค่าเริ่มต้น) สามารถส่งผู้ใช้ไปยังปลายทางที่เหมาะสมที่สุดได้อย่างน่าเชื่อถือมากขึ้นเมื่อผู้ใช้เปิด Dynamic Links ในแอป อย่างไรก็ตาม หากคุณคาดว่า Dynamic Link จะเปิดเฉพาะในแอปที่เปิด Dynamic Links ได้อย่างน่าเชื่อถือโดยไม่ต้องใช้หน้านี้ คุณสามารถปิดใช้หน้าดังกล่าวด้วยพารามิเตอร์นี้ พารามิเตอร์นี้จะส่งผลต่อลักษณะการทำงานของ Dynamic Link ใน iOS เท่านั้น
DynamicLinkSocialMetaTagParameters
title ชื่อที่จะใช้เมื่อแชร์ 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 หากต้องการสร้าง ลิงก์ที่มีคำต่อท้ายแบบสั้น:

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 Scheme ที่จำเป็นในการเปิดแอปพลิเคชัน เราขอแนะนำให้ใช้ค่าเริ่มต้นนี้เพื่อให้การติดตั้งใช้งานง่าย

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

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

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

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

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