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 sử dụng 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 ngắn từ một đường liên kết dài đã tạo trước đó. API Đường liên kết động 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:

  • Đă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 đang sử dụng Firebase, thì tức là 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.

Xin lưu ý rằng việc thêm Firebase vào dự án Unity của bạn liên quan đến các tác vụ trong cả bảng điều khiển Firebase và trong dự án Unity đang mở của bạn (ví dụ: bạn tải các 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ở phần 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 làm như vậy 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 đó, bạn sẽ ngă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 các trang web mà bạn không kiểm soát. Xem bài viết Danh sách cho phép mẫu URL.

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

Nếu bạn muốn tạo một Dynamic Link cho mục đích thử nghiệm hoặc để nhóm tiếp thị dễ dàng tạo một đường liên kết có thể dùng trong bài đăng trên mạng xã hội, cách đơn giản nhất là truy cập vào bảng điều khiển của 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 hoạt động xây dựng thương hiệu của Dynamic Link bằng cách sử dụng miền của riêng mình 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 API Firebase Dynamic Links

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

Để tạo Đường liên kết động, hãy tạo một đối tượng DynamicLinkComponents, đặt bất kỳ thành phần nào không bắt buộc để định cấu hình bổ sung, sau đó 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 Đường liên kết động dài đến https://www.example.com/. Đường liên kết này 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 Dynamic Link ngắn

Để tạo một Đường liên kết động 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ể lấy 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. Để tạo đường liên kết ngắn, bạn cần có một yêu cầu mạng đến phần phụ trợ Firebase, vì vậy, phương thức GetShortLinkAsync sẽ được thực thi không đồng bộ. GetShortLinkAsync trả về một 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.