צור קישורים דינמיים עם Unity

אתה יכול ליצור קישורים דינמיים קצרים או ארוכים באמצעות ממשק ה-API של Firebase Dynamic Links. ה-API לוקח כמה מבני פרמטרים אופציונליים כדי לבנות קישורים. ניתן ליצור קישורים קצרים גם מקישור ארוך שנוצר בעבר. ממשק API של קישורים דינמיים יפיק כתובת URL כמו הבאה:

https://example.page.link/aSDf

לפני שאתה מתחיל

לפני שתוכל להשתמש בקישורים דינמיים של Firebase , עליך:

  • רשום את פרויקט Unity שלך והגדר אותו לשימוש ב-Firebase.

    • אם פרויקט Unity שלך כבר משתמש ב-Firebase, אז הוא כבר רשום ומוגדר עבור Firebase.

    • אם אין לך פרויקט של Unity, תוכל להוריד אפליקציה לדוגמה .

  • הוסף את Firebase Unity SDK (באופן ספציפי, FirebaseDynamicLinks.unitypackage ) לפרויקט Unity שלך.

שים לב שהוספת Firebase לפרויקט Unity שלך כרוכה במשימות הן במסוף Firebase והן בפרויקט Unity הפתוח (לדוגמה, אתה מוריד קובצי תצורה של Firebase מהמסוף, ואז מעביר אותם לפרויקט Unity שלך).

הגדר קידומת URI של קישורים דינמיים

  1. במסוף Firebase, פתח את הקטע קישורים דינמיים .

  2. אם עדיין לא הסכמת לתנאי השירות והגדרת קידומת URI עבור הקישורים הדינמיים שלך, עשה זאת כאשר תתבקש.

    אם כבר יש לך קידומת URI של Dynamic Links, שים לב לזה. עליך לספק קידומת URI של קישורים דינמיים בעת יצירת קישורים דינמיים באופן פרוגרמטי.

  3. מומלץ : ציין את דפוסי כתובות האתרים המותרים בקישורי העומק ובקישורי החלפה שלך. על ידי כך, אתה מונע מגורמים לא מורשים ליצור קישורים דינמיים המפנים מהדומיין שלך לאתרים שאינך בשליטתם. ראה רשימת היתרים של דפוסי כתובות אתרים .

השתמש במסוף Firebase

אם אתה רוצה ליצור קישור דינמי יחיד, או למטרות בדיקה, או שצוות השיווק שלך יוכל ליצור קישור בקלות שניתן להשתמש בו במשהו כמו פוסט במדיה חברתית, הדרך הפשוטה ביותר תהיה לבקר במסוף Firebase וליצור אחד בצע את הטופס שלב אחר שלב באופן ידני.

דומיינים מותאמים אישית

תוכל לקבל שליטה רבה יותר על המיתוג של הקישור הדינמי שלך על ידי שימוש בדומיין משלך במקום בתת-דומיין goo.gl או page.link . בצע את ההוראות הבאות כדי להגדיר דומיין מותאם אישית עבור הפרויקט שלך.

שימוש ב-API של Firebase Dynamic Links

יצירת קישור דינמי ארוך מפרמטרים

כדי ליצור קישור דינמי, צור אובייקט DynamicLinkComponents , הגדרת כל אחד מהחברים האופציונליים לתצורה נוספת, ולאחר מכן גש למאפיין LongDynamicLink כדי לקבל את כתובת ה-URL של הקישור.

הדוגמה המינימלית הבאה יוצרת קישור דינמי ארוך אל 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

יצירת קישור דינמי קצר

כדי ליצור קישור דינמי קצר, העבר קישור ארוך שנוצר בעבר ל- Firebase.DynamicLinks.GetShortLinkAsync או בנה DynamicLinkComponents באותו אופן כמו לעיל.

GetShortLinkAsync לוקח אופציונלי פרמטר תצורה נוסף DynamicLinkOptions עם המאפיין PathLength , המאפשר לך לשלוט כיצד יש ליצור את הקישור. יצירת קישורים קצרים מצריכה בקשת רשת ל-Firebase backend, כך ששיטת 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.
  }
});

הדוגמה שלמעלה משתמשת בביטוי למבדה שמופעל כאשר המשימה הושלמה.