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

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

    หากมีDynamic Linksคำนำหน้า URI อยู่แล้ว ให้จดบันทึกไว้ คุณต้องระบุคำนำหน้า 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 แบบยาวจากพารามิเตอร์

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