אתה יכול ליצור קישורים דינמיים קצרים או ארוכים עם ה-API של Firebase Dynamic Links Builder. ממשק API זה מקבל קישור דינמי ארוך או אובייקט המכיל פרמטרים של קישור דינמי, ומחזיר כתובות URL כמו הדוגמאות הבאות:
https://example.com/link/WXYZ
https://example.page.link/WXYZ
הגדר את Firebase ואת ה-SDK של Dynamic Links
לפני שתוכל ליצור קישורים דינמיים באפליקציית Android שלך, עליך לכלול את Firebase SDK. אם האפליקציה שלך מוגדרת לקבל קישורים דינמיים, כבר השלמת את השלבים האלה ואתה יכול לדלג על סעיף זה.
התקן ואתחל את ערכות ה-SDK של Firebase עבור Flutter אם עדיין לא עשית זאת.
מתוך ספריית השורש של פרויקט Flutter שלך, הפעל את הפקודה הבאה כדי להתקין את הפלאגין Dynamic Links:
flutter pub add firebase_dynamic_links
אם אתה בונה אפליקציית Android, פתח את דף הגדרות הפרויקט של מסוף Firebase וודא שציינת את מפתח החתימה SHA-1 שלך. אם אתה משתמש ב-App Links, ציין גם את מפתח SHA-256 שלך.
במסוף Firebase, פתח את הקטע קישורים דינמיים .
אם עדיין לא הגדרת דומיין עבור הקישורים הדינמיים שלך, לחץ על הלחצן התחל ופעל לפי ההנחיות.
אם כבר יש לך דומיין Dynamic Links, שים לב אליו. עליך לספק דומיין של קישורים דינמיים כאשר אתה יוצר קישורים דינמיים באופן פרוגרמטי.
מומלץ : מתפריט "עוד" (⋮), ציין את דפוסי כתובת האתר המותרים בקישורי העומק ובקישורי החלפה שלך. על ידי כך, אתה מונע מגורמים לא מורשים ליצור קישורים דינמיים המפנים מהדומיין שלך לאתרים שאינך בשליטתם.
צור קישור דינמי מפרמטרים
כדי ליצור קישור דינמי, צור אובייקט 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
ל- 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. |