สร้างลิงก์แบบไดนามิกด้วย Unity

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

https://example.page.link/aSDf

ก่อนเริ่มต้น

คุณต้องทำสิ่งต่อไปนี้ก่อนจึงจะใช้ Firebase Dynamic Links ได้

  • ลงทะเบียนโปรเจ็กต์ Unity และกำหนดค่าให้ใช้ Firebase

    • หากโปรเจ็กต์ Unity ใช้ Firebase อยู่แล้ว แสดงว่าโปรเจ็กต์ดังกล่าวลงทะเบียนและกำหนดค่าสำหรับ Firebase แล้ว

    • หากไม่มีโปรเจ็กต์ Unity คุณสามารถดาวน์โหลดแอปตัวอย่างได้

  • เพิ่ม Firebase Unity SDK (โดยเฉพาะ FirebaseDynamicLinks.unitypackage) ลงในโปรเจ็กต์ Unity

โปรดทราบว่าการเพิ่ม Firebase ลงในโปรเจ็กต์ Unity เกี่ยวข้องกับงานทั้งในคอนโซล Firebase และในโปรเจ็กต์ Unity ที่เปิดอยู่ (เช่น คุณดาวน์โหลดไฟล์การกำหนดค่า Firebase จากคอนโซล แล้วย้ายไฟล์เหล่านั้นไปยังโปรเจ็กต์ Unity)

ตั้งค่าคำนำหน้า URI ของ Dynamic Links

  1. ในคอนโซล Firebase ให้เปิดส่วน Dynamic Links

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

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

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

ใช้คอนโซล Firebase

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

โดเมนที่กำหนดเอง

คุณสามารถควบคุมการสร้างแบรนด์ของ Dynamic Link ได้มากขึ้นโดยใช้โดเมนของคุณเองแทนโดเมนย่อย goo.gl หรือ page.link ทำตามวิธีการเหล่านี้เพื่อตั้งค่าโดเมนที่กำหนดเองสำหรับโปรเจ็กต์

การใช้ Firebase Dynamic Links API

การสร้าง Dynamic Link แบบยาวจากพารามิเตอร์

หากต้องการสร้างลิงก์แบบไดนามิก ให้สร้างออบเจ็กต์ 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

การสร้าง Shorts Dynamic Link

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