Tạo đường liên kết động bằng Unity

Bạn có thể tạo Dynamic Links ngắn hoặc dài bằng API Firebase Dynamic Links. API này lấy một số cấu trúc tham số không bắt buộc để tạo đường liên kết. Bạn cũng có thể tạo đường liên kết rút gọn từ một đường liên kết dài đã tạo trước đó. Dynamic Links API sẽ tạo một URL như sau:

https://example.page.link/aSDf

Trước khi bắt đầu

Để có thể sử dụng Firebase Dynamic Links, bạn cần phải:

  • Đăng ký dự án Unity và định cấu hình dự án đó để sử dụng Firebase.

    • Nếu dự án Unity của bạn đã sử dụng Firebase, thì dự án đó đã được đăng ký và định cấu hình cho Firebase.

    • Nếu chưa có dự án Unity, bạn có thể tải ứng dụng mẫu xuống.

  • Thêm Firebase Unity SDK (cụ thể là FirebaseDynamicLinks.unitypackage) vào dự án Unity của bạn.

Xin lưu ý rằng việc thêm Firebase vào dự án Unity của bạn bao gồm các thao tác cả trong bảng điều khiển Firebase và trong dự án Unity đang mở của bạn (ví dụ: bạn tải tệp cấu hình Firebase xuống từ bảng điều khiển, sau đó di chuyển các tệp đó vào dự án Unity).

Đặt tiền tố URI Dynamic Links

  1. Trong bảng điều khiển Firebase, hãy mở mục Dynamic Links.

  2. Nếu bạn chưa chấp nhận điều khoản dịch vụ và đặt tiền tố URI cho Dynamic Links, hãy thực hiện khi được nhắc.

    Nếu bạn đã có tiền tố URI Dynamic Links, hãy ghi lại tiền tố đó. Bạn cần cung cấp tiền tố URI Dynamic Links khi tạo Dynamic Links theo phương thức lập trình.

  3. Nên dùng: Chỉ định các mẫu URL được phép trong đường liên kết sâu và đường liên kết dự phòng. Bằng cách này, bạn sẽ ngăn chặn các bên trái phép tạo Dynamic Links chuyển hướng từ miền của bạn đến những trang web mà bạn không kiểm soát. Xem phần Cho phép các mẫu URL cụ thể.

Sử dụng bảng điều khiển Firebase

Nếu muốn tạo một Dynamic Link duy nhất cho mục đích kiểm thử hoặc để nhóm tiếp thị của bạn dễ dàng tạo một đường liên kết có thể dùng trong một nội dung nào đó như bài đăng trên mạng xã hội, thì cách đơn giản nhất là truy cập vào bảng điều khiển Firebase và tạo một đường liên kết theo cách thủ công theo biểu mẫu từng bước.

Miền tuỳ chỉnh

Bạn có thể kiểm soát tốt hơn việc xây dựng thương hiệu cho Dynamic Link bằng cách sử dụng miền của riêng bạn thay vì miền con goo.gl hoặc page.link. Hãy làm theo các hướng dẫn này để thiết lập một miền tuỳ chỉnh cho dự án của bạn.

Sử dụng Firebase Dynamic Links API

Tạo một Dynamic Link dài từ các tham số

Để tạo một Đường liên kết động, hãy tạo một đối tượng DynamicLinkComponents, đặt bất kỳ thành phần không bắt buộc nào để có thêm cấu hình, rồi truy cập vào thuộc tính LongDynamicLink để lấy URL của đường liên kết.

Ví dụ tối thiểu sau đây sẽ tạo một Dynamic Link dài đến https://www.example.com/ mở bằng ứng dụng Android com.example.android trên Android và ứng dụng com.example.ios trên 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

Tạo video Shorts Dynamic Link

Để tạo một Dynamic Link ngắn, hãy truyền một đường liên kết dài đã tạo trước đó đến Firebase.DynamicLinks.GetShortLinkAsync hoặc tạo DynamicLinkComponents theo cách tương tự như trên.

GetShortLinkAsync có thể nhận thêm một tham số cấu hình DynamicLinkOptions với thuộc tính PathLength, cho phép bạn kiểm soát cách tạo đường liên kết. Quá trình tạo đường liên kết rút gọn yêu cầu một yêu cầu mạng đến phần phụ trợ Firebase, vì vậy phương thức GetShortLinkAsync được thực thi không đồng bộ. GetShortLinkAsync trả về Task<Firebase.DynamicLinks.ShortDynamicLink>.

Ví dụ:

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.
  }
});

Ví dụ trên sử dụng một biểu thức lambda được kích hoạt khi tác vụ hoàn tất.