คุณสร้างลิงก์แบบไดนามิกแบบสั้นหรือแบบยาวได้ด้วย Firebase Dynamic Links API API ใช้โครงสร้างพารามิเตอร์ทางเลือกมากมายในการสร้างลิงก์ ลิงก์แบบสั้นสามารถ อาจสร้างจากลิงก์ขนาดยาวที่สร้างไว้ก่อนหน้านี้ API ลิงก์แบบไดนามิก จะสร้าง URL ดังตัวอย่างต่อไปนี้
https://example.page.link/aSDf
ก่อนเริ่มต้น
ก่อนที่จะใช้งานได้ ลิงก์แบบไดนามิกของ Firebase คุณต้องทำดังนี้
ลงทะเบียนโปรเจ็กต์ Unity และกำหนดค่าให้ใช้ Firebase
หากโปรเจ็กต์ Unity ของคุณใช้ Firebase อยู่แล้ว ก็หมายความว่า ลงทะเบียนและกำหนดค่าสำหรับ Firebase แล้ว
หากไม่มีโปรเจ็กต์ Unity คุณสามารถดาวน์โหลด ตัวอย่างแอป
เพิ่ม Firebase Unity SDK (โดยเฉพาะ
FirebaseDynamicLinks.unitypackage
) ลงใน โปรเจ็กต์ Unity
โปรดทราบว่าการเพิ่ม Firebase ลงในโปรเจ็กต์ Unity จะเกี่ยวข้องกับงานทั้งใน คอนโซล Firebase และในโปรเจ็กต์ Unity ที่เปิดอยู่ (เช่น คุณดาวน์โหลดไฟล์การกำหนดค่า Firebase จากคอนโซล แล้วย้าย ลงในโปรเจ็กต์ Unity)
ตั้งค่าคำนำหน้า URI ของลิงก์แบบไดนามิก
ในคอนโซล Firebase ให้เปิดส่วนลิงก์แบบไดนามิก
หากคุณยังไม่ได้ยอมรับข้อกำหนดในการให้บริการและตั้งค่าคำนำหน้า URI สำหรับ ลิงก์แบบไดนามิกของคุณ ให้ดำเนินการเมื่อถูกถาม
หากมีคำนำหน้า URI ของลิงก์แบบไดนามิกอยู่แล้ว ให้สังเกตที่คำนำหน้าดังกล่าว สิ่งที่คุณต้องทำ ให้คำนำหน้า URI ลิงก์แบบไดนามิกเมื่อคุณสร้างลิงก์แบบไดนามิกแบบเป็นโปรแกรม
แนะนำ: ระบุรูปแบบ URL ที่อนุญาตใน Deep Link และ ลิงก์สำรอง การทำเช่นนี้จะเป็นการป้องกันไม่ให้บุคคลที่ไม่ได้รับอนุญาตสามารถ การสร้างลิงก์แบบไดนามิกที่เปลี่ยนเส้นทางจากโดเมนของคุณไปยังไซต์ที่คุณไม่ได้ ดูรูปแบบ URL ที่อนุญาตพิเศษ
ใช้คอนโซล Firebase
หากคุณต้องการสร้างลิงก์แบบไดนามิกลิงก์เดียวสำหรับวัตถุประสงค์ในการทดสอบหรือสำหรับทีมการตลาดของคุณ เพื่อสร้างลิงก์เพื่อใช้ในสิ่งต่างๆ เช่น โพสต์โซเชียลมีเดีย วิธีที่ง่ายที่สุดในการ ให้ไปที่คอนโซล Firebase และสร้างด้วยตนเองตามแบบฟอร์มทีละขั้นตอน
โดเมนที่กำหนดเอง
คุณสามารถควบคุมการสร้างแบรนด์ของลิงก์แบบไดนามิกได้มากขึ้นโดยใช้แบรนด์
แทนที่จะเป็นโดเมนย่อย goo.gl
หรือ page.link
ทำตามรายชื่อเหล่านี้
วิธีการ ตั้งค่าโดเมนที่กำหนดเองให้
โปรเจ็กต์ของคุณ
การใช้ API ลิงก์แบบไดนามิกของ Firebase
การสร้างลิงก์แบบไดนามิกแบบยาวจากพารามิเตอร์
หากต้องการสร้างลิงก์แบบไดนามิก ให้สร้างออบเจ็กต์ DynamicLinkComponents
โดยตั้งค่า
ของสมาชิกที่ไม่บังคับสำหรับการกำหนดค่าเพิ่มเติม จากนั้นเข้าถึง
LongDynamicLink
เพื่อรับ URL ของลิงก์
ตัวอย่างเล็กน้อยต่อไปนี้สร้างลิงก์แบบไดนามิกขนาดยาวไปยัง https://www.example.com/ ที่เปิดด้วยแอป Android ของคุณ com.example.android บน Android และแอป com.example.ios บน iOS
var components = new Firebase.DynamicLinks.DynamicLinkComponents( // The base Link. new System.Uri("https://www.example.com/"), // The dynamic link URI prefix. "https://example.page.link") { IOSParameters = new Firebase.DynamicLinks.IOSParameters("com.example.ios"), AndroidParameters = new Firebase.DynamicLinks.AndroidParameters( "com.example.android.package_name"), }; // do something with: components.LongDynamicLink
การสร้างลิงก์แบบไดนามิกแบบสั้น
หากต้องการสร้างลิงก์แบบไดนามิกแบบสั้น ให้ส่งลิงก์แบบยาวที่สร้างขึ้นก่อนหน้านี้ไปยัง
Firebase.DynamicLinks.GetShortLinkAsync
หรือสร้าง DynamicLinkComponents
ใน
ในลักษณะเดียวกับข้างต้น
GetShortLinkAsync
จะเลือกกำหนดค่า DynamicLinkOptions
เพิ่มเติมหรือไม่ก็ได้
ด้วยพร็อพเพอร์ตี้ PathLength
ซึ่งช่วยให้คุณควบคุมวิธีที่ลิงก์
ควรสร้างขึ้นมา การสร้างลิงก์แบบสั้นต้องใช้คำขอเครือข่ายไปยัง
แบ็กเอนด์ของ Firebase ดังนั้นเมธอด GetShortLinkAsync
จะดำเนินการแบบไม่พร้อมกัน
GetShortLinkAsync
แสดงผล Task<Firebase.DynamicLinks.ShortDynamicLink>
เช่น
var options = new Firebase.DynamicLinks.DynamicLinkOptions { PathLength = DynamicLinkPathLength.Unguessable }; Firebase.DynamicLinks.DynamicLinks.GetShortLinkAsync(components, options).ContinueWith(task => { if (task.IsCanceled) { Debug.LogError("GetShortLinkAsync was canceled."); return; } if (task.IsFaulted) { Debug.LogError("GetShortLinkAsync encountered an error: " + task.Exception); return; } // Short Link has been created. Firebase.DynamicLinks.ShortDynamicLink link = task.Result; Debug.LogFormat("Generated short link {0}", link.Url); var warnings = new System.Collections.Generic.List<string>(link.Warnings); if (warnings.Count > 0) { // Debug logging for warnings generating the short link. } });
ตัวอย่างด้านบนใช้นิพจน์ lambda ที่ทริกเกอร์เมื่องานคือ เสร็จสมบูรณ์แล้ว