יצירת קישורים דינמיים באמצעות 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 שמותר להשתמש בהן בקישורי העומק ובקישורי ה-fallback. כך אתם מונעים מגורמים לא מורשים ליצור Dynamic Links שמפנים מהדומיין שלכם לאתרים שאין לכם שליטה עליהם. איך מאשרים תבניות ספציפיות של כתובות URL

שימוש במסוף Firebase

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

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

כדי לשלוט טוב יותר במיתוג של Dynamic Link, אפשר להשתמש בדומיין משלכם במקום בתת-דומיין של goo.gl או page.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.
  }
});

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