คุณสร้างลิงก์แบบไดนามิกแบบสั้นหรือแบบยาวได้ด้วย 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 ที่ทริกเกอร์เมื่องานเสร็จสมบูรณ์แล้ว