คุณสร้างลิงก์แบบไดนามิกแบบสั้นหรือแบบยาวได้ด้วย Firebase Dynamic Links Builder API API นี้ยอมรับลิงก์แบบไดนามิกแบบยาวหรือออบเจ็กต์ที่มีลิงก์แบบไดนามิก และแสดง URL เหมือนตัวอย่างต่อไปนี้
https://example.com/link/WXYZ
https://example.page.link/WXYZ
ตั้งค่า Firebase และ SDK ลิงก์แบบไดนามิก
ก่อนที่จะสร้างลิงก์แบบไดนามิกในแอป Android ได้ คุณต้องใส่ Firebase SDK หากคุณตั้งค่าแอปให้รับลิงก์แบบไดนามิก แสดงว่าคุณ ดำเนินการตามขั้นตอนเหล่านี้และคุณสามารถข้ามส่วนนี้ได้
ติดตั้งและเริ่มต้น Firebase SDK สำหรับ Flutter หาก ยังไม่ได้ทำ
จากไดเรกทอรีรูทของโปรเจ็กต์ Flutter ให้เรียกใช้คำสั่งต่อไปนี้ เพื่อติดตั้งปลั๊กอินลิงก์แบบไดนามิก
flutter pub add firebase_dynamic_links
หากสร้างแอป Android ให้เปิดการตั้งค่าโปรเจ็กต์ ของคอนโซล Firebase และตรวจสอบว่าคุณได้ระบุ SHA-1 แล้ว คีย์ Signing หากคุณใช้ App Link ให้ระบุคีย์ SHA-256 ด้วย
ในคอนโซล Firebase ให้เปิดลิงก์แบบไดนามิก
หากคุณยังไม่ได้ตั้งค่าโดเมนสำหรับลิงก์แบบไดนามิกของคุณ ให้คลิก ปุ่มเริ่มต้นใช้งานแล้วทำตามข้อความที่ปรากฏขึ้น
หากคุณมีโดเมนลิงก์แบบไดนามิกอยู่แล้ว โปรดสังเกตข้อมูลนี้ สิ่งที่คุณต้องทำ ระบุโดเมนลิงก์แบบไดนามิกเมื่อคุณสร้างลิงก์แบบไดนามิกแบบเป็นโปรแกรม
แนะนำ: จาก "เพิ่มเติม" (⋮) ระบุ URL รูปแบบที่อนุญาตใน Deep Link และลิงก์สำรอง เมื่อทำเช่นนั้น คุณป้องกันไม่ให้ผู้ที่ไม่ได้รับอนุญาตสร้างลิงก์แบบไดนามิกที่เปลี่ยนเส้นทาง จากโดเมนของคุณไปยังเว็บไซต์ที่คุณไม่ได้ควบคุม
โปรดดูที่อนุญาตรูปแบบ URL ที่เจาะจง
สร้างลิงก์แบบไดนามิกจากพารามิเตอร์
หากต้องการสร้างลิงก์แบบไดนามิก ให้สร้างออบเจ็กต์ DynamicLinkParameters
ใหม่และส่งไปยัง
buildLink()
หรือbuildShortLink()
ตัวอย่างเล็กน้อยต่อไปนี้สร้างลิงก์แบบไดนามิกขนาดยาวไปยัง
https://www.example.com/
ที่เปิดด้วย com.example.app.android
ใน Android
และแอป com.example.app.ios
ใน iOS
final dynamicLinkParams = DynamicLinkParameters(
link: Uri.parse("https://www.example.com/"),
uriPrefix: "https://example.page.link",
androidParameters: const AndroidParameters(packageName: "com.example.app.android"),
iosParameters: const IOSParameters(bundleId: "com.example.app.ios"),
);
final dynamicLink =
await FirebaseDynamicLinks.instance.buildLink(dynamicLinkParams);
หากต้องการสร้างลิงก์แบบไดนามิกแบบสั้น ให้ส่งออบเจ็กต์ DynamicLinkParameters
ไปยัง
buildShortLink()
การสร้างลิงก์แบบสั้นต้องใช้การเรียกใช้เครือข่าย
เช่น
final dynamicLinkParams = DynamicLinkParameters(
link: Uri.parse("https://www.example.com/"),
uriPrefix: "https://example.page.link",
androidParameters: const AndroidParameters(packageName: "com.example.app.android"),
iosParameters: const IOSParameters(bundleId: "com.example.app.ios"),
);
final dynamicLink =
await FirebaseDynamicLinks.instance.buildShortLink(dynamicLinkParams);
โดยค่าเริ่มต้น ระบบจะสร้างลิงก์แบบไดนามิกแบบสั้นโดยมีคำต่อท้ายเพียงไม่กี่รายการ ยาว อักขระ แม้ว่าวิธีนี้จะทำให้ลิงก์มีขนาดกะทัดรัดมากขึ้น แต่ก็ยังเป็น ความเป็นไปได้ที่คนอื่นจะเดาลิงก์แบบสั้นที่ถูกต้องได้ บ่อยครั้งที่จะไม่มี และก่อให้เกิดอันตรายต่อผู้อื่น เนื่องจากลิงก์จะนำไปยังข้อมูลสาธารณะ
แต่ถ้าลิงก์แบบสั้นของคุณนำไปสู่ข้อมูลเฉพาะของผู้ใช้ คุณควร
สร้างลิงก์ที่ยาวขึ้นโดยใช้คำต่อท้าย 17 อักขระ ทำให้
คนอื่นจะคาดเดาลิงก์แบบไดนามิกที่ถูกต้องได้ ซึ่งทำได้โดยทำให้ผ่าน ShortDynamicLinkType.unguessable
ไปยังเมธอด buildShortLink()
:
final unguessableDynamicLink = await FirebaseDynamicLinks.instance.buildShortLink(
dynamicLinkParams,
shortLinkType: ShortDynamicLinkType.unguessable,
);
พารามิเตอร์ลิงก์แบบไดนามิก
คุณสามารถใช้ Dynamic Link Builder API เพื่อสร้างลิงก์แบบไดนามิกที่มี พารามิเตอร์ที่รองรับ ดูข้อมูลอ้างอิง API
ตัวอย่างต่อไปนี้สร้างลิงก์แบบไดนามิกที่มีพารามิเตอร์ทั่วไปหลายรายการ ตั้งค่า:
final dynamicLinkParams = DynamicLinkParameters(
link: Uri.parse("https://www.example.com/"),
uriPrefix: "https://example.page.link",
androidParameters: const AndroidParameters(
packageName: "com.example.app.android",
minimumVersion: 30,
),
iosParameters: const IOSParameters(
bundleId: "com.example.app.ios",
appStoreId: "123456789",
minimumVersion: "1.0.1",
),
googleAnalyticsParameters: const GoogleAnalyticsParameters(
source: "twitter",
medium: "social",
campaign: "example-promo",
),
socialMetaTagParameters: SocialMetaTagParameters(
title: "Example of a Dynamic Link",
imageUrl: Uri.parse("https://example.com/image.png"),
),
);
final dynamicLink =
await FirebaseDynamicLinks.instance.buildShortLink(dynamicLinkParams);
คุณสามารถตั้งค่าพารามิเตอร์ลิงก์แบบไดนามิกด้วยวิธีต่อไปนี้
พารามิเตอร์ DynamicLink | |
---|---|
ตั้งค่าลิงก์ | ลิงก์ที่แอปของคุณจะเปิดขึ้น ระบุ URL ที่แอปของคุณจัดการได้ โดยปกติจะเป็นเนื้อหาหรือเพย์โหลดของแอป ซึ่งจะเริ่มต้นเฉพาะแอป (เช่น ให้เครดิตผู้ใช้ด้วยคูปองหรือ หน้าจอต้อนรับ) ลิงก์นี้ต้องเป็น URL ที่มีรูปแบบเหมาะสม เข้ารหัส URL โดยใช้ HTTP หรือ HTTPS และต้องไม่เป็น "ไดนามิก" อื่น ลิงก์ |
setDomainUriPrefix | คำนำหน้า URL ของลิงก์แบบไดนามิก ซึ่งดูได้ในคอนโซล Firebase ต
โดเมนของลิงก์แบบไดนามิกมีลักษณะดังตัวอย่างต่อไปนี้
https://example.com/link https://example.page.link |
พารามิเตอร์ Android | |
---|---|
setFallbackUrl | ลิงก์ที่จะเปิดเมื่อไม่ได้ติดตั้งแอป ระบุสิ่งนี้ที่จะทำ อย่างอื่นนอกเหนือจากการติดตั้งแอปจาก Play Store เมื่อแอป ไม่ได้ติดตั้ง เช่น เปิดเนื้อหาเวอร์ชันเว็บบนอุปกรณ์เคลื่อนที่ หรือ แสดงหน้าโปรโมชันสำหรับแอปของคุณ |
ตั้งค่าเวอร์ชันขั้นต่ำ | versionCode เวอร์ชันขั้นต่ำของแอปที่สามารถเปิดแอป ลิงก์ หากแอปที่ติดตั้งเป็นเวอร์ชันเก่า ระบบจะนำผู้ใช้ไปที่ Play Store เพื่ออัปเกรดแอป |
พารามิเตอร์ iOS | |
---|---|
ตั้งรหัส App Store | รหัส App Store ของแอปที่ใช้ส่งผู้ใช้ไปยัง App Store เมื่อ ไม่ได้ติดตั้งแอปไว้ |
setFallbackUrl | ลิงก์ที่จะเปิดเมื่อไม่ได้ติดตั้งแอป ระบุสิ่งนี้ที่จะทำ อย่างอื่นนอกเหนือจากการติดตั้งแอปจาก App Store เมื่อแอป ไม่ได้ติดตั้ง เช่น เปิดเนื้อหาเวอร์ชันเว็บบนอุปกรณ์เคลื่อนที่ หรือ แสดงหน้าโปรโมชันสำหรับแอปของคุณ |
ตั้งค่ารูปแบบที่กำหนดเอง | ชุดรูปแบบ URL ที่กำหนดเองสำหรับแอปของคุณ หากกำหนดไว้เป็นอย่างอื่นที่ไม่ใช่ รหัสชุดของแอป |
setIpadFallbackUrl | ลิงก์ที่จะเปิดใน iPad เมื่อไม่ได้ติดตั้งแอป ระบุสิ่งนี้ถึง ดำเนินการอื่นนอกเหนือจากการติดตั้งแอปของคุณจาก App Store เมื่อ ไม่ได้ติดตั้งแอปไว้ เช่น เปิดเนื้อหาเวอร์ชันเว็บ หรือ แสดงหน้าโปรโมชันสำหรับแอปของคุณ |
รหัสชุด iPad | รหัสชุดของแอป iOS ที่จะใช้ใน iPad เพื่อเปิดลิงก์ แอป จะต้องเชื่อมต่อกับโปรเจ็กต์ของคุณจากหน้าภาพรวมของ คอนโซล Firebase |
ตั้งค่าเวอร์ชันขั้นต่ำ | หมายเลขเวอร์ชันของแอปเวอร์ชันต่ำสุดที่สามารถเปิดแอป ลิงก์ ระบบจะส่ง Flag นี้ไปยังแอปของคุณเมื่อเปิดและแอป Flag นี้ ต้องตัดสินใจว่าจะทำอย่างไรกับข้อมูลนั้น |
NavigationInfoParameters | |
---|---|
setForcedRedirectEnabled | หากตั้งค่าเป็น "1" ให้ข้ามหน้าตัวอย่างแอปเมื่อลิงก์แบบไดนามิกคือ เปิด และเปลี่ยนเส้นทางไปยังแอปหรือ Store แทน หน้าตัวอย่างแอป (เปิดใช้อยู่โดยค่าเริ่มต้น) สามารถส่งผู้ใช้ไป ปลายทางที่เหมาะสมเมื่อเปิดลิงก์แบบไดนามิกในแอป อย่างไรก็ตาม หากคุณคาดว่าลิงก์แบบไดนามิกจะเปิดในแอปที่สามารถเปิดได้เท่านั้น ลิงก์แบบไดนามิกได้อย่างน่าเชื่อถือโดยไม่ต้องใช้หน้าเว็บนี้ คุณสามารถปิดการทำงานได้ด้วย พารามิเตอร์ พารามิเตอร์นี้จะส่งผลต่อลักษณะการทำงานของลิงก์แบบไดนามิก เฉพาะใน iOS เท่านั้น |
พารามิเตอร์เมตาแท็กโซเชียล | |
---|---|
ตั้งชื่อ | ชื่อที่จะใช้เมื่อแชร์ลิงก์แบบไดนามิกในโพสต์บนโซเชียลเน็ตเวิร์ก |
คำอธิบายชุด | คำอธิบายที่จะใช้เมื่อแชร์ลิงก์แบบไดนามิกในโพสต์บนโซเชียลเน็ตเวิร์ก |
URL ตั้งรูปภาพ | URL ไปยังรูปภาพที่เกี่ยวข้องกับลิงก์นี้ รูปภาพต้องมีขนาดอย่างน้อย 300x200 พิกเซล และน้อยกว่า 300 KB |
พารามิเตอร์ Google Analytics | |
---|---|
setSource setMedium setCampaign setTerm setContent |
พารามิเตอร์ Analytics ของ Google Play พารามิเตอร์เหล่านี้ (`utm_source`, `utm_medium`, `utm_campaign`, `utm_term`, `utm_content`) จะส่งไปยัง Play Store รวมถึงเพย์โหลดลิงก์ต่อท้าย |
พารามิเตอร์ Analytics ของ ItunesConnect | |
---|---|
setProviderToken setaffiliateToken setCampaignToken |
พารามิเตอร์ข้อมูลวิเคราะห์ของ iTunes Connect พารามิเตอร์เหล่านี้ (`pt`, "at", "ct") จะส่งไปยัง App Store |