אפשר ליצור קישורים דינמיים קצרים או ארוכים באמצעות ה-API של הכלי ליצירת קישורים דינמיים ב-Firebase. ה-API הזה מקבל קישור דינמי ארוך או אובייקט שמכיל קישור דינמי ומחזירה כתובות URL כמו הדוגמאות הבאות:
https://example.com/link/WXYZ
https://example.page.link/WXYZ
הגדרת Firebase ואת ה-SDK של קישורים דינמיים
לפני שתוכלו ליצור קישורים דינמיים באפליקציה ל-Android, עליכם לכלול את Firebase SDK. אם האפליקציה מוגדרת לקבלת קישורים דינמיים, כבר השלמת את השלבים האלה, ואפשר לדלג על הקטע הזה.
מתקינים ומפעילים את ערכות Firebase SDK של Flutter, אם עדיין לא עשו זאת.
מתיקיית הבסיס של פרויקט Flutter, מריצים את הפקודה הבאה כדי להתקין את הפלאגין של קישורים דינמיים:
flutter pub add firebase_dynamic_links
אם בונים אפליקציה ל-Android, פותחים את הגדרות הפרויקט במסוף Firebase ולוודא שציינתם את ה-SHA-1 מפתח החתימה. אם משתמשים בקישורים לאפליקציות, צריך לציין גם את מפתח SHA-256.
במסוף Firebase, פותחים את הקטע קישורים דינמיים.
אם עדיין לא הגדרתם דומיין לקישורים הדינמיים, לוחצים על שנתחיל? ופועלים לפי ההנחיות.
אם כבר יש לכם דומיין של קישורים דינמיים, כדאי לשים לב אליו. צריך לציין דומיין של קישורים דינמיים כשיוצרים קישורים דינמיים באופן פרוגרמטי.
מומלצים: מתוך 'עוד' (⋮), ציון כתובת האתר דפוסים שמותרים בקישורי העומק ובקישורי הגיבוי. כך, אתה מונע מגורמים לא מורשים ליצור קישורים דינמיים שמפנים מחדש מהדומיין שלך לאתרים שאין לך שליטה עליהם.
מידע נוסף זמין בקטע התרת תבניות URL ספציפיות.
יצירת קישור דינמי מפרמטרים
כדי ליצור קישור דינמי, יוצרים אובייקט 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
ל-method buildShortLink()
:
final unguessableDynamicLink = await FirebaseDynamicLinks.instance.buildShortLink(
dynamicLinkParams,
shortLinkType: ShortDynamicLinkType.unguessable,
);
פרמטרים של קישור דינמי
אפשר להשתמש ב-Dynamic Link Builder API כדי ליצור קישורים דינמיים עם כל אחד פרמטרים נתמכים. הפניית API
הדוגמה הבאה יוצרת קישור דינמי עם כמה פרמטרים נפוצים set:
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 | |
---|---|
הגדרת קישור | הקישור שהאפליקציה תפתח. מציינים כתובת URL שהאפליקציה יכולה לטפל בה. בדרך כלל, התוכן או המטען הייעודי (Payload) של האפליקציה, שמפעילים לוגיקה (למשל, זיכוי את המשתמש באמצעות שובר או הצגת מסך הפתיחה). הקישור חייב להיות כתובת URL בפורמט תקין, הוא צריך להיות תקין מקודדים בכתובות URL, משתמשים ב-HTTP או ב-HTTPS, ולא יכולים להיות מודל דינמי אחר קישור. |
setDomainUriPrefix | הקידומת של כתובת ה-URL של הקישור הדינמי, שאפשר למצוא במסוף Firebase. א'
דומיין קישור דינמי נראה כמו בדוגמאות הבאות:
https://example.com/link https://example.page.link |
AndroidParameters | |
---|---|
setFallbackUrl | הקישור שייפתח כשהאפליקציה לא מותקנת. יש לציין את הפעולה הזו משהו מלבד התקנת האפליקציה שלך מחנות Play כאשר האפליקציה אינו מותקן, למשל לפתוח את גרסת האינטרנט לנייד של התוכן, או להציג דף קידום מכירות של האפליקציה. |
setMinimumVersion | קוד הגרסה של הגרסה המינימלית של האפליקציה שיכולה לפתוח את קישור. אם האפליקציה המותקנת היא גרסה ישנה יותר, המשתמש מועבר לחנות Play כדי לשדרג את האפליקציה. |
פרמטרים של Ios | |
---|---|
setAppStoreId | מזהה האפליקציה שלך ב-App Store, המשמש לשליחת המשתמשים אל ה-App Store כאשר האפליקציה לא מותקנת |
setFallbackUrl | הקישור שייפתח כשהאפליקציה לא מותקנת. יש לציין את הפעולה הזו משהו מלבד התקנת האפליקציה שלך מ-App Store כשהאפליקציה אינו מותקן, למשל לפתוח את גרסת האינטרנט לנייד של התוכן, או להציג דף קידום מכירות של האפליקציה. |
setCustomScheme | הסכימה של כתובת ה-URL המותאמת אישית של האפליקציה, אם היא מוגדרת להיות משהו שאינו מזהה החבילה של האפליקציה |
setIpadFallbackUrl | הקישור שצריך לפתוח ב-iPad כשהאפליקציה לא מותקנת. יש לציין את זה ל לעשות משהו חוץ מהתקנת האפליקציה מ-App Store כאשר שהאפליקציה לא מותקנת, למשל פתיחת גרסת אינטרנט של התוכן, או להציג דף קידום מכירות של האפליקציה. |
setIpadBundleId | מזהה החבילה של האפליקציה ל-iOS לשימוש במכשירי iPad לפתיחת הקישור. האפליקציה להיות מחוברות לפרויקט מדף הסקירה הכללית של מסוף Firebase. |
setMinimumVersion | מספר הגרסה של הגרסה המינימלית של האפליקציה שבה אפשר לפתוח את קישור. הדגל הזה מועבר לאפליקציה כשהיא נפתחת אל האפליקציה צריכים להחליט מה לעשות איתו. |
NavigationInfoParameters | |
---|---|
setForcedRedirectEnabled | אם הערך מוגדר כ-1, הדף עם התצוגה המקדימה של האפליקציה יידלג כשהקישור הדינמי ייפתח, ובמקום זאת יועבר לכתובת של האפליקציה או החנות. דף התצוגה המקדימה של האפליקציה (מופעל כברירת מחדל) יכול לשלוח משתמשים ליעד המתאים ביותר בצורה מהימנה יותר כשהם פותחים קישורים דינמיים באפליקציות. עם זאת, אם אתם מצפים שקישור דינמי ייפתח רק באפליקציות שיכולות לפתוח קישורים דינמיים בצורה מהימנה בלי הדף הזה, תוכלו להשבית אותו באמצעות הפרמטר הזה. הפרמטר הזה ישפיע על ההתנהגות של הקישור הדינמי רק ב-iOS. |
SocialMetaTagParameters | |
---|---|
setTitle | הכותרת שבה צריך להשתמש כשהקישור הדינמי משותף בפוסט ברשתות חברתיות. |
setDescription | התיאור שבו צריך להשתמש כשהקישור הדינמי משותף בפוסט ברשתות חברתיות. |
setImageUrl | כתובת ה-URL של תמונה שקשורה לקישור הזה. התמונה צריכה להיות בגודל מינימלי 300x200 פיקסלים וקטן מ-300KB. |
פרמטרים של Google Analytics | |
---|---|
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. |