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

คุณสามารถสร้างลิงก์ไดนามิกแบบสั้นหรือแบบยาวได้ด้วย 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 เพื่อติดตั้งและจัดการการพึ่งพา Firebase

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

ตอนนี้ ดำเนินการตามขั้นตอนการกำหนดค่า:

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

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

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

    ยืนยันว่าโปรเจ็กต์ Firebase ของคุณได้รับการกำหนดค่าอย่างถูกต้องเพื่อใช้ลิงก์แบบไดนามิกในแอป iOS โดยเปิดไฟล์ apple-app-site-association ที่โฮสต์บนโดเมนลิงก์แบบไดนามิกของคุณ Firebase จะให้บริการไฟล์ apple-app-site-association จากรูทของโดเมนรวมถึงไดเร็กทอรีย่อย .well .well-known ตัวอย่างเช่น:

        https://example.com/apple-app-site-association
        https://example.com/.well-known/apple-app-site-association
        

    หากแอปของคุณเชื่อมต่ออยู่ ไฟล์ apple-app-site-association จะมีการอ้างอิงถึง App ID นำหน้าและ ID ของบันเดิล ตัวอย่างเช่น:

    {"applinks":{"apps":[],"details":[{"appID":"1234567890.com.example.ios","paths":["/*"]}]}}

    หากคุณสมบัติ details ว่างเปล่า ให้ตรวจสอบอีกครั้งว่าคุณระบุคำนำหน้า ID แอปของคุณ โปรดทราบว่าคำนำหน้า App ID ของคุณอาจไม่เหมือนกับรหัสทีมของคุณ

เพิ่ม Firebase ในแอปของคุณ

  1. นำเข้าโมดูล FirebaseCore ใน UIApplicationDelegate ของคุณ รวมถึง โมดูล Firebase อื่นๆ ที่ผู้รับมอบสิทธิ์แอปของคุณใช้ ตัวอย่างเช่น ในการใช้ Cloud Firestore และการตรวจสอบสิทธิ์:

    Swift

    import FirebaseCore
    import FirebaseFirestore
    import FirebaseAuth
    // ...
          

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

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

    Swift

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

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

    // Use Firebase library to configure APIs
    [FIRApp configure];

ใช้คอนโซล Firebase

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

ใช้ iOS Builder API

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

ในการสร้าง Dynamic Link ให้สร้างวัตถุ DynamicLinkComponents ใหม่และระบุพารามิเตอร์ Dynamic Link โดยการตั้งค่าคุณสมบัติที่สอดคล้องกันของวัตถุ จากนั้น รับลิงก์แบบยาวจากคุณสมบัติ 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)")

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

การสร้างลิงก์สั้น ๆ จำเป็นต้องมีการเรียกเครือข่าย ดังนั้นแทนที่จะส่งคืนลิงก์โดยตรง 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)")
}

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

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

วัตถุประสงค์-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 และไม่สามารถเป็นลิงก์แบบไดนามิกอื่นได้

โดเมนURIPrefix คำนำหน้า URL ลิงก์แบบไดนามิกของคุณ ซึ่งคุณจะพบได้ในคอนโซล Firebase โดเมนไดนามิกลิงก์ดูเหมือนตัวอย่างต่อไปนี้:
https://example.com/link
https://example.page.link
DynamicLinkAndroidParameters
fallbackURL ลิงก์สำหรับเปิดเมื่อไม่ได้ติดตั้งแอป ระบุสิ่งนี้เพื่อทำอย่างอื่นนอกเหนือจากการติดตั้งแอพของคุณจาก Play Store เมื่อไม่ได้ติดตั้งแอพนั้น เช่น เปิดเนื้อหาในเวอร์ชั่นเว็บบนมือถือ หรือแสดงหน้าโปรโมชั่นสำหรับแอพของคุณ
รุ่นขั้นต่ำ versionCode ของเวอร์ชันขั้นต่ำของแอปที่สามารถเปิดลิงก์ได้ หากแอปที่ติดตั้งเป็นเวอร์ชันเก่า ระบบจะนำผู้ใช้ไปที่ Play Store เพื่ออัปเกรดแอป
DynamicLinkIOSพารามิเตอร์
appStoreID App Store ID ของแอปของคุณ ใช้เพื่อส่งผู้ใช้ไปยัง App Store เมื่อไม่ได้ติดตั้งแอป
fallbackURL ลิงก์สำหรับเปิดเมื่อไม่ได้ติดตั้งแอป ระบุสิ่งนี้เพื่อทำอย่างอื่นนอกเหนือจากการติดตั้งแอพของคุณจาก App Store เมื่อไม่ได้ติดตั้งแอพ เช่น เปิดเนื้อหาในเวอร์ชั่นเว็บบนมือถือ หรือแสดงหน้าโปรโมชั่นสำหรับแอพของคุณ
customScheme สคีม URL ที่กำหนดเองของแอป หากกำหนดเป็นอย่างอื่นที่ไม่ใช่ Bundle ID . ของแอป
iPadFallbackURL ลิงก์สำหรับเปิดบน iPad เมื่อไม่ได้ติดตั้งแอป ระบุสิ่งนี้เพื่อทำอย่างอื่นนอกเหนือจากการติดตั้งแอพของคุณจาก App Store เมื่อไม่ได้ติดตั้งแอพ เช่น เปิดเนื้อหาในเวอร์ชั่นเว็บ หรือแสดงหน้าโปรโมชั่นสำหรับแอพของคุณ
iPadBundleID ID บันเดิลของแอป iOS ที่จะใช้บน iPads เพื่อเปิดลิงก์ แอปต้องเชื่อมต่อกับโปรเจ็กต์ของคุณจากหน้าภาพรวมของคอนโซล Firebase
ขั้นต่ำAppVersion หมายเลขเวอร์ชัน ของเวอร์ชันขั้นต่ำของแอปที่สามารถเปิดลิงก์ได้ แฟล็กนี้จะถูกส่งต่อไปยังแอปของคุณเมื่อเปิด และแอปของคุณต้องตัดสินใจว่าจะทำอย่างไรกับแอปนั้น
DynamicLinkNavigationInfoParameters
บังคับRedirectEnabled หากตั้งค่าเป็น '1' ให้ข้ามหน้าแสดงตัวอย่างแอปเมื่อเปิดลิงก์แบบไดนามิก และเปลี่ยนเส้นทางไปยังแอปหรือร้านค้าแทน หน้าแสดงตัวอย่างแอป (เปิดใช้งานโดยค่าเริ่มต้น) สามารถส่งผู้ใช้ไปยังปลายทางที่เหมาะสมที่สุดได้อย่างน่าเชื่อถือมากขึ้นเมื่อพวกเขาเปิดลิงก์แบบไดนามิกในแอป อย่างไรก็ตาม หากคุณคาดว่าไดนามิกลิงก์จะเปิดเฉพาะในแอปที่สามารถเปิดลิงก์ไดนามิกได้อย่างน่าเชื่อถือโดยไม่ต้องมีหน้านี้ คุณสามารถปิดใช้งานได้ด้วยพารามิเตอร์นี้ พารามิเตอร์นี้จะส่งผลต่อการทำงานของ Dynamic Link บน iOS เท่านั้น
DynamicLinkSocialMetaTagParameters
ชื่อ ชื่อเรื่องที่จะใช้เมื่อมีการแชร์ลิงก์แบบไดนามิกในโพสต์โซเชียล
คำอธิบายข้อความ คำอธิบายที่จะใช้เมื่อมีการแชร์ลิงก์แบบไดนามิกในโพสต์โซเชียล
รูปภาพURL URL ไปยังรูปภาพที่เกี่ยวข้องกับลิงก์นี้ รูปภาพควรมีขนาดอย่างน้อย 300x200 พิกเซล และไม่เกิน 300 KB
DynamicLinkGoogleAnalyticsParameters
แหล่งที่มา
ปานกลาง
แคมเปญ
ภาคเรียน
เนื้อหา
พารามิเตอร์การวิเคราะห์ของ Google Play พารามิเตอร์เหล่านี้ ( utm_source , utm_medium , utm_campaign , utm_term , utm_content ) จะถูกส่งต่อไปยัง Play Store รวมถึงต่อท้ายเพย์โหลดของลิงก์
DynamicLinkItunesConnectAnalyticsParameters
ผู้ให้บริการโทเค็น
โทเค็นในเครือ
โทเค็นแคมเปญ
พารามิเตอร์การวิเคราะห์ 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)")
}

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

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

,

คุณสามารถสร้างลิงก์ไดนามิกแบบสั้นหรือแบบยาวได้ด้วย 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 เพื่อติดตั้งและจัดการการพึ่งพา Firebase

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

ตอนนี้ ดำเนินการตามขั้นตอนการกำหนดค่า:

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

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

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

    ยืนยันว่าโปรเจ็กต์ Firebase ของคุณได้รับการกำหนดค่าอย่างถูกต้องเพื่อใช้ลิงก์แบบไดนามิกในแอป iOS โดยเปิดไฟล์ apple-app-site-association ที่โฮสต์บนโดเมนลิงก์แบบไดนามิกของคุณ Firebase จะให้บริการไฟล์ apple-app-site-association จากรูทของโดเมนรวมถึงไดเร็กทอรีย่อย .well .well-known ตัวอย่างเช่น:

        https://example.com/apple-app-site-association
        https://example.com/.well-known/apple-app-site-association
        

    หากแอปของคุณเชื่อมต่ออยู่ ไฟล์ apple-app-site-association จะมีการอ้างอิงถึง App ID นำหน้าและ ID ของบันเดิล ตัวอย่างเช่น:

    {"applinks":{"apps":[],"details":[{"appID":"1234567890.com.example.ios","paths":["/*"]}]}}

    หากคุณสมบัติ details ว่างเปล่า ให้ตรวจสอบอีกครั้งว่าคุณระบุคำนำหน้า ID แอปของคุณ โปรดทราบว่าคำนำหน้า App ID ของคุณอาจไม่เหมือนกับรหัสทีมของคุณ

เพิ่ม Firebase ในแอปของคุณ

  1. นำเข้าโมดูล FirebaseCore ใน UIApplicationDelegate ของคุณ รวมถึง โมดูล Firebase อื่นๆ ที่ผู้รับมอบสิทธิ์แอปของคุณใช้ ตัวอย่างเช่น ในการใช้ Cloud Firestore และการตรวจสอบสิทธิ์:

    Swift

    import FirebaseCore
    import FirebaseFirestore
    import FirebaseAuth
    // ...
          

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

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

    Swift

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

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

    // Use Firebase library to configure APIs
    [FIRApp configure];

ใช้คอนโซล Firebase

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

ใช้ iOS Builder API

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

ในการสร้าง Dynamic Link ให้สร้างวัตถุ DynamicLinkComponents ใหม่และระบุพารามิเตอร์ Dynamic Link โดยการตั้งค่าคุณสมบัติที่สอดคล้องกันของวัตถุ จากนั้น รับลิงก์แบบยาวจากคุณสมบัติ 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)")

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

การสร้างลิงก์สั้น ๆ จำเป็นต้องมีการเรียกเครือข่าย ดังนั้นแทนที่จะส่งคืนลิงก์โดยตรง 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)")
}

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

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

วัตถุประสงค์-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 และไม่สามารถเป็นลิงก์แบบไดนามิกอื่นได้

โดเมนURIPrefix คำนำหน้า URL ลิงก์แบบไดนามิกของคุณ ซึ่งคุณจะพบได้ในคอนโซล Firebase โดเมนไดนามิกลิงก์ดูเหมือนตัวอย่างต่อไปนี้:
https://example.com/link
https://example.page.link
DynamicLinkAndroidParameters
fallbackURL ลิงก์สำหรับเปิดเมื่อไม่ได้ติดตั้งแอป ระบุสิ่งนี้เพื่อทำอย่างอื่นนอกเหนือจากการติดตั้งแอพของคุณจาก Play Store เมื่อไม่ได้ติดตั้งแอพนั้น เช่น เปิดเนื้อหาในเวอร์ชั่นเว็บบนมือถือ หรือแสดงหน้าโปรโมชั่นสำหรับแอพของคุณ
รุ่นขั้นต่ำ versionCode ของเวอร์ชันขั้นต่ำของแอปที่สามารถเปิดลิงก์ได้ หากแอปที่ติดตั้งเป็นเวอร์ชันเก่า ระบบจะนำผู้ใช้ไปที่ Play Store เพื่ออัปเกรดแอป
DynamicLinkIOSพารามิเตอร์
appStoreID App Store ID ของแอปของคุณ ใช้เพื่อส่งผู้ใช้ไปยัง App Store เมื่อไม่ได้ติดตั้งแอป
fallbackURL ลิงก์สำหรับเปิดเมื่อไม่ได้ติดตั้งแอป ระบุสิ่งนี้เพื่อทำอย่างอื่นนอกเหนือจากการติดตั้งแอพของคุณจาก App Store เมื่อไม่ได้ติดตั้งแอพ เช่น เปิดเนื้อหาในเวอร์ชั่นเว็บบนมือถือ หรือแสดงหน้าโปรโมชั่นสำหรับแอพของคุณ
customScheme สคีม URL ที่กำหนดเองของแอป หากกำหนดเป็นอย่างอื่นที่ไม่ใช่ Bundle ID . ของแอป
iPadFallbackURL ลิงก์สำหรับเปิดบน iPad เมื่อไม่ได้ติดตั้งแอป ระบุสิ่งนี้เพื่อทำอย่างอื่นนอกเหนือจากการติดตั้งแอพของคุณจาก App Store เมื่อไม่ได้ติดตั้งแอพ เช่น เปิดเนื้อหาในเวอร์ชั่นเว็บ หรือแสดงหน้าโปรโมชั่นสำหรับแอพของคุณ
iPadBundleID ID บันเดิลของแอป iOS ที่จะใช้บน iPads เพื่อเปิดลิงก์ แอปต้องเชื่อมต่อกับโปรเจ็กต์ของคุณจากหน้าภาพรวมของคอนโซล Firebase
ขั้นต่ำAppVersion หมายเลขเวอร์ชัน ของเวอร์ชันขั้นต่ำของแอปที่สามารถเปิดลิงก์ได้ แฟล็กนี้จะถูกส่งต่อไปยังแอปของคุณเมื่อเปิด และแอปของคุณต้องตัดสินใจว่าจะทำอย่างไรกับแอปนั้น
DynamicLinkNavigationInfoParameters
บังคับRedirectEnabled หากตั้งค่าเป็น '1' ให้ข้ามหน้าแสดงตัวอย่างแอปเมื่อเปิดลิงก์แบบไดนามิก และเปลี่ยนเส้นทางไปยังแอปหรือร้านค้าแทน หน้าแสดงตัวอย่างแอป (เปิดใช้งานโดยค่าเริ่มต้น) สามารถส่งผู้ใช้ไปยังปลายทางที่เหมาะสมที่สุดได้อย่างน่าเชื่อถือมากขึ้นเมื่อพวกเขาเปิดลิงก์แบบไดนามิกในแอป อย่างไรก็ตาม หากคุณคาดว่าไดนามิกลิงก์จะเปิดเฉพาะในแอปที่สามารถเปิดลิงก์ไดนามิกได้อย่างน่าเชื่อถือโดยไม่ต้องมีหน้านี้ คุณสามารถปิดใช้งานได้ด้วยพารามิเตอร์นี้ พารามิเตอร์นี้จะส่งผลต่อการทำงานของ Dynamic Link บน iOS เท่านั้น
DynamicLinkSocialMetaTagParameters
ชื่อ ชื่อเรื่องที่จะใช้เมื่อมีการแชร์ลิงก์แบบไดนามิกในโพสต์โซเชียล
คำอธิบายข้อความ คำอธิบายที่จะใช้เมื่อมีการแชร์ลิงก์แบบไดนามิกในโพสต์โซเชียล
รูปภาพURL URL ไปยังรูปภาพที่เกี่ยวข้องกับลิงก์นี้ รูปภาพควรมีขนาดอย่างน้อย 300x200 พิกเซล และไม่เกิน 300 KB
DynamicLinkGoogleAnalyticsParameters
แหล่งที่มา
ปานกลาง
แคมเปญ
ภาคเรียน
เนื้อหา
พารามิเตอร์การวิเคราะห์ของ Google Play พารามิเตอร์เหล่านี้ ( utm_source , utm_medium , utm_campaign , utm_term , utm_content ) จะถูกส่งต่อไปยัง Play Store รวมถึงต่อท้ายเพย์โหลดของลิงก์
DynamicLinkItunesConnectAnalyticsParameters
ผู้ให้บริการโทเค็น
โทเค็นในเครือ
โทเค็นแคมเปญ
พารามิเตอร์การวิเคราะห์ 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)")
}

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

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