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

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

https://example.page.link/aSDf

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

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

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

    • אם בפרויקט Unity שלכם כבר נעשה שימוש ב-Firebase, הוא כבר רשום ומותאם ל-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 כשיוצרים Dynamic Links באופן פרוגרמטי, צריך לציין קידומת של URI‏ Dynamic Links.

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

שימוש במסוף Firebase

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

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

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

שימוש ב-Firebase Dynamic Links API

יצירת מחרוזת ארוכה Dynamic Link מפרמטרים

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

בדוגמה המינימלית הבאה נוצר קישור דינמי ארוך לכתובת https://www.example.com/ שנפתח באפליקציית Android com.example.android ב-Android ובאפליקציית iOS 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 backend, ולכן הפעלת ה-method‏ 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.
  }
});

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