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

You can create short or long Dynamic Links with the Firebase Dynamic Links API. The API takes several optional parameter structures to build links. Short links can also be created from a previously generated long link. The Dynamic Links API will generate a URL like the following:

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 Dynamic Links ارائه دهید.

  3. Recommended : Specify the URL patterns allowed in your deep links and fallback links. By doing so, you prevent unauthorized parties from creating Dynamic Links that redirect from your domain to sites you don't control. See Allow specific URL patterns .

استفاده از کنسول 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.
  }
});

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