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

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

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

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

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

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

ใช้คอนโซล Firebase

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

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

คุณสามารถควบคุมการสร้างแบรนด์ของลิงก์แบบไดนามิกได้ดียิ่งขึ้นโดยใช้โดเมนของคุณเองแทนโดเมนย่อย 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

การสร้างไดนามิกลิงค์สั้น

หากต้องการสร้าง 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.
  }
});

ตัวอย่างข้างต้นใช้นิพจน์แลมบ์ดาที่ทริกเกอร์เมื่องานเสร็จสิ้น