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

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

  1. ในคอนโซล Firebase ให้เปิดส่วนลิงก์แบบไดนามิก

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

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

  3. แนะนำ: ระบุรูปแบบ 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 ที่ทริกเกอร์เมื่องานเสร็จสมบูรณ์แล้ว