สร้างลิงก์แบบไดนามิกด้วย 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)

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

  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 ด้วยตนเองโดยทำตามแบบฟอร์มทีละขั้นตอน

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

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

การใช้ Firebase Dynamic Links API

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

หากต้องการสร้าง Dynamic Link ให้สร้างออบเจ็กต์ DynamicLinkComponents โดยตั้งค่าสมาชิกที่ไม่บังคับสำหรับการกำหนดค่าเพิ่มเติม จากนั้นเข้าถึงพร็อพเพอร์ตี้ LongDynamicLink เพื่อรับ URL ของลิงก์

ตัวอย่างแบบย่อต่อไปนี้สร้าง Dynamic Link แบบยาวไปยัง 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

หากต้องการสร้าง 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 ที่ทริกเกอร์เมื่องานเสร็จสมบูรณ์