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

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

https://example.page.link/aSDf

לפני שמתחילים

כדי להשתמש ב-Firebase Dynamic Links, צריך:

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

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

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

  • מוסיפים את Firebase Unity SDK (במיוחד FirebaseDynamicLinks.unitypackage) לפרויקט ב-Unity.

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

הגדרת קידומת URI מסוג Dynamic Links

  1. במסוף Firebase, פותחים את הקטע Dynamic Links.

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

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

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

שימוש במסוף Firebase

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

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

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

באמצעות ה-API של Firebase Dynamic Links

יצירת Dynamic Link ארוך מפרמטר

כדי ליצור קישור דינמי, יוצרים אובייקט 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

יצירת סרטון Shorts Dynamic Link

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

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

בדוגמה שלמעלה נעשה שימוש בביטוי lambda שמופעל כשהמשימה תושלם.