欢迎参加我们将于 2022 年 10 月 18 日举办的 Firebase 峰会(线上线下同时进行),了解 Firebase 如何帮助您加快应用开发速度、满怀信心地发布应用并在之后需要时轻松地扩大应用规模。立即报名

צור קישורים דינמיים באפליקציית Flutter

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

https://example.com/link/WXYZ
https://example.page.link/WXYZ

לפני שתוכל ליצור קישורים דינמיים באפליקציית Android שלך, עליך לכלול את Firebase SDK. אם האפליקציה שלך מוגדרת לקבל קישורים דינמיים, כבר השלמת את השלבים האלה ואתה יכול לדלג על סעיף זה.

  1. התקן ואתחל את ערכות ה-SDK של Firebase עבור Flutter אם עדיין לא עשית זאת.

  2. מתוך ספריית השורש של פרויקט Flutter שלך, הפעל את הפקודה הבאה כדי להתקין את הפלאגין Dynamic Links:

    flutter pub add firebase_dynamic_links
    
  3. אם אתה בונה אפליקציית Android, פתח את דף הגדרות הפרויקט של מסוף Firebase וודא שציינת את מפתח החתימה SHA-1 שלך. אם אתה משתמש ב-App Links, ציין גם את מפתח SHA-256 שלך.

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

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

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

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

      ראה אפשר דפוסי כתובות אתרים ספציפיים .

כדי ליצור קישור דינמי, צור אובייקט DynamicLinkParameters חדש והעביר אותו ל- buildLink() או buildShortLink() .

הדוגמה המינימלית הבאה יוצרת קישור דינמי ארוך אל https://www.example.com/ שנפתח עם com.example.app.android ב-Android והאפליקציה com.example.app.ios ב-iOS:

final dynamicLinkParams = DynamicLinkParameters(
  link: Uri.parse("https://www.example.com/"),
  uriPrefix: "https://example.page.link",
  androidParameters: const AndroidParameters(packageName: "com.example.app.android"),
  iosParameters: const IOSParameters(bundleId: "com.example.app.ios"),
);
final dynamicLink =
    await FirebaseDynamicLinks.instance.buildLink(dynamicLinkParams);

כדי ליצור קישור דינמי קצר, DynamicLinkParameters את האובייקט DynamicLinkParameters ל- buildShortLink() . בניית הקישור הקצר דורשת שיחת רשת. לדוגמה:

final dynamicLinkParams = DynamicLinkParameters(
  link: Uri.parse("https://www.example.com/"),
  uriPrefix: "https://example.page.link",
  androidParameters: const AndroidParameters(packageName: "com.example.app.android"),
  iosParameters: const IOSParameters(bundleId: "com.example.app.ios"),
);
final dynamicLink =
    await FirebaseDynamicLinks.instance.buildShortLink(dynamicLinkParams);

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

עם זאת, אם הקישורים הקצרים שלך מובילים למידע ספציפי למשתמש, עליך ליצור קישורים ארוכים יותר עם סיומות של 17 תווים שהופכות את זה מאוד לא סביר שמישהו יוכל לנחש קישור דינמי חוקי. כדי לעשות זאת, העבר את ShortDynamicLinkType.unguessable לשיטת buildShortLink() :

final unguessableDynamicLink = await FirebaseDynamicLinks.instance.buildShortLink(
    dynamicLinkParams,
    shortLinkType: ShortDynamicLinkType.unguessable,
);

אתה יכול להשתמש בממשק ה-API של Dynamic Link Builder כדי ליצור קישורים דינמיים עם כל אחד מהפרמטרים הנתמכים. עיין בהפניה ל-API .

הדוגמה הבאה יוצרת קישור דינמי עם מספר פרמטרים נפוצים:

final dynamicLinkParams = DynamicLinkParameters(
  link: Uri.parse("https://www.example.com/"),
  uriPrefix: "https://example.page.link",
  androidParameters: const AndroidParameters(
    packageName: "com.example.app.android",
    minimumVersion: 30,
  ),
  iosParameters: const IOSParameters(
    bundleId: "com.example.app.ios",
    appStoreId: "123456789",
    minimumVersion: "1.0.1",
  ),
  googleAnalyticsParameters: const GoogleAnalyticsParameters(
    source: "twitter",
    medium: "social",
    campaign: "example-promo",
  ),
  socialMetaTagParameters: SocialMetaTagParameters(
    title: "Example of a Dynamic Link",
    imageUrl: Uri.parse("https://example.com/image.png"),
  ),
);
final dynamicLink =
    await FirebaseDynamicLinks.instance.buildShortLink(dynamicLinkParams);

אתה יכול להגדיר פרמטרים של קישור דינמי בשיטות הבאות:

פרמטרים של DynamicLink
setLink הקישור שהאפליקציה שלך תיפתח. ציין כתובת אתר שהאפליקציה שלך יכולה לטפל בה, בדרך כלל התוכן או המטען של האפליקציה, אשר יוזמת היגיון ספציפי לאפליקציה (כגון זיכוי של המשתמש בקופון או הצגת מסך פתיחה). קישור זה חייב להיות כתובת אתר בפורמט היטב, מקודד כראוי של כתובת אתר, להשתמש ב-HTTP או ב-HTTPS, ולא יכול להיות קישור דינמי אחר.
setDomainUriPrefix קידומת כתובת האתר של קישור דינמי, שתוכל למצוא במסוף Firebase. תחום קישור דינמי נראה כמו הדוגמאות הבאות:
https://example.com/link
https://example.page.link
פרמטרים של אנדרואיד
setFallbackUrl הקישור שייפתח כאשר האפליקציה לא מותקנת. ציין זאת כדי לעשות משהו אחר מלבד התקנת האפליקציה שלך מחנות Play כאשר האפליקציה אינה מותקנת, כגון פתיחת גרסת האינטרנט לנייד של התוכן, או הצגת דף קידום מכירות עבור האפליקציה שלך.
setMinimumVersion קוד הגרסה של הגרסה המינימלית של האפליקציה שלך שיכולה לפתוח את הקישור. אם האפליקציה המותקנת היא גרסה ישנה יותר, המשתמש מועבר לחנות Play כדי לשדרג את האפליקציה.
IosParameters
setAppStoreId מזהה ה-App Store של האפליקציה שלך, המשמש לשליחת משתמשים ל-App Store כאשר האפליקציה לא מותקנת
setFallbackUrl הקישור שייפתח כאשר האפליקציה לא מותקנת. ציין זאת כדי לעשות משהו אחר מלבד התקנת האפליקציה שלך מ-App Store כאשר האפליקציה אינה מותקנת, כגון פתיחת גרסת האינטרנט לנייד של התוכן, או הצגת דף קידום מכירות עבור האפליקציה שלך.
setCustomScheme סכימת כתובת האתר המותאמת אישית של האפליקציה שלך, אם היא מוגדרת כמשהו אחר מאשר מזהה החבילה של האפליקציה שלך
setIpadFallbackUrl הקישור לפתיחה באייפד כשהאפליקציה לא מותקנת. ציין זאת כדי לעשות משהו אחר מלבד התקנת האפליקציה שלך מ-App Store כאשר האפליקציה אינה מותקנת, כגון לפתוח את גרסת האינטרנט של התוכן, או להציג דף קידום מכירות עבור האפליקציה שלך.
setIpadBundleId מזהה החבילה של אפליקציית iOS לשימוש באייפד לפתיחת הקישור. האפליקציה חייבת להיות מחוברת לפרויקט שלך מדף הסקירה הכללית של מסוף Firebase.
setMinimumVersion מספר הגרסה של הגרסה המינימלית של האפליקציה שלך שיכולה לפתוח את הקישור. הדגל הזה מועבר לאפליקציה שלך כאשר היא נפתחת, והאפליקציה שלך חייבת להחליט מה לעשות איתה.
NavigationInfoParameters
setForcedRedirectEnabled אם מוגדר ל'1', דלג על דף התצוגה המקדימה של האפליקציה כאשר הקישור הדינמי נפתח, ובמקום זאת הפנה מחדש לאפליקציה או לחנות. דף התצוגה המקדימה של האפליקציה (מופעל כברירת מחדל) יכול לשלוח משתמשים בצורה מהימנה יותר ליעד המתאים ביותר כאשר הם פותחים קישורים דינמיים באפליקציות; עם זאת, אם אתה מצפה שקישור דינמי ייפתח רק באפליקציות שיכולות לפתוח קישורים דינמיים בצורה מהימנה ללא דף זה, תוכל להשבית אותו עם פרמטר זה. פרמטר זה ישפיע על התנהגות הקישור הדינמי רק ב-iOS.
SocialMetaTagParameters
setTitle הכותרת לשימוש כאשר הקישור הדינמי משותף בפוסט חברתי.
setDescription התיאור לשימוש כאשר הקישור הדינמי משותף בפוסט חברתי.
setImageUrl כתובת האתר לתמונה הקשורה לקישור הזה. התמונה צריכה להיות לפחות 300x200 פיקסלים, ופחות מ-300 KB.
פרמטרים של GoogleAnalytics
setSource
setMedium
setCampaign
setTerm
setContent
פרמטרי ניתוח של Google Play. הפרמטרים האלה (`utm_source`, `utm_medium`, `utm_campaign`, `utm_term`, `utm_content`) מועברים לחנות Play וכן מצורפים למטען הקישור.
ItunesConnectAnalyticsParameters
setProviderToken
setAffiliateToken
setCampaignToken
פרמטרי ניתוח של iTunes Connect. הפרמטרים האלה (`pt`, `at`, `ct`) מועברים ל-App Store.