ایجاد لینک های پویا با یونیتی

شما می‌توانید با استفاده از API Firebase Dynamic Links Dynamic Links کوتاه یا بلند ایجاد کنید. این API چندین ساختار پارامتر اختیاری برای ساخت لینک‌ها دریافت می‌کند. لینک‌های کوتاه همچنین می‌توانند از یک لینک بلند که قبلاً ایجاد شده است، ایجاد شوند. API لینک‌های پویا، URL ای مانند زیر ایجاد می‌کند:

https://example.page.link/aSDf

قبل از اینکه شروع کنی

قبل از اینکه بتوانید Firebase Dynamic Links استفاده کنید، باید:

  • پروژه یونیتی خود را ثبت کنید و آن را برای استفاده از فایربیس پیکربندی کنید.

    • اگر پروژه یونیتی شما از قبل از فایربیس استفاده می‌کند، پس از قبل برای فایربیس ثبت و پیکربندی شده است.

    • اگر پروژه یونیتی ندارید، می‌توانید یک برنامه نمونه را دانلود کنید.

  • کیت توسعه نرم‌افزاری (SDK) مربوط به Firebase Unity (به‌طور خاص، FirebaseDynamicLinks.unitypackage ) را به پروژه Unity خود اضافه کنید.

توجه داشته باشید که اضافه کردن Firebase به پروژه Unity شما شامل وظایفی هم در کنسول Firebase و هم در پروژه Unity باز شما می‌شود (برای مثال، شما فایل‌های پیکربندی Firebase را از کنسول دانلود می‌کنید، سپس آنها را به پروژه Unity خود منتقل می‌کنید).

پیشوند URL Dynamic Links را تنظیم کنید

  1. در کنسول Firebase ، بخش Dynamic Links را باز کنید.

  2. اگر قبلاً شرایط خدمات را نپذیرفته‌اید و پیشوند URI را برای Dynamic Links خود تنظیم نکرده‌اید، در صورت درخواست، این کار را انجام دهید.

    اگر از قبل پیشوند URL Dynamic Links را دارید، آن را یادداشت کنید. هنگام ایجاد Dynamic Links به صورت برنامه‌نویسی، باید پیشوند URL مربوط به Dynamic Links را ارائه دهید.

  3. توصیه می‌شود : الگوهای URL مجاز در لینک‌های عمیق و لینک‌های جایگزین خود را مشخص کنید. با انجام این کار، از ایجاد Dynamic Links توسط اشخاص غیرمجاز که از دامنه شما به سایت‌هایی که کنترلی روی آنها ندارید هدایت می‌شوند، جلوگیری می‌کنید. به بخش «اجازه دادن به الگوهای URL خاص» مراجعه کنید.

استفاده از کنسول Firebase

اگر می‌خواهید یک Dynamic Link ایجاد کنید، چه برای اهداف آزمایشی و چه برای اینکه تیم بازاریابی شما بتواند به راحتی لینکی ایجاد کند که بتوان از آن در چیزی مانند یک پست در رسانه‌های اجتماعی استفاده کرد، ساده‌ترین راه این است که به کنسول Firebase مراجعه کنید و با دنبال کردن فرم گام به گام، یکی را به صورت دستی ایجاد کنید.

دامنه‌های سفارشی

شما می‌توانید با استفاده از دامنه خودتان به جای زیر دامنه goo.gl یا page.link ، کنترل بیشتری بر روی برندسازی Dynamic Link خود داشته باشید. برای تنظیم یک دامنه سفارشی برای پروژه خود، این دستورالعمل‌ها را دنبال کنید.

استفاده از API Firebase Dynamic Links

ایجاد یک Dynamic Link طولانی از پارامترها

برای ایجاد یک پیوند پویا، یک شیء DynamicLinkComponents ایجاد کنید، هر یک از اعضای اختیاری را برای پیکربندی اضافی تنظیم کنید و سپس برای دریافت URL پیوند به ویژگی LongDynamicLink دسترسی پیدا کنید.

مثال مینیمال زیر یک لینک پویای طولانی به https://www.example.com/ ایجاد می‌کند که با برنامه اندروید شما به نام com.example.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 دریافت می‌کند و به شما امکان می‌دهد نحوه تولید لینک را کنترل کنید. تولید لینک کوتاه نیاز به یک درخواست شبکه به backend 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.
  }
});

مثال بالا از یک عبارت لامبدا استفاده می‌کند که با تکمیل وظیفه، فعال می‌شود.