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