با «میانای برنامهسازی کاربردی سازنده پیوندهای پویای Firebase» میتوانید «پیوندهای پویا» کوتاه یا بلند ایجاد کنید. این «میانای برنامهسازی کاربردی» یا «پیوند پویا» طولانی یا شیئی حاوی پارامترهای «پیوند پویا» را میپذیرد و نشانیهای وبی مانند مثالهای زیر را برمیگرداند:
https://example.com/link/WXYZ
https://example.page.link/WXYZ
راهاندازی Firebase و کیت توسعه نرمافزار «پیوندهای پویا»
قبلاز اینکه بتوانید «پیوندهای پویا» را در برنامه Android خود ایجاد کنید، باید «کیت توسعه نرمافزار Firebase» را اضافه کنید. اگر برنامه شما برای دریافت «پیوندهای پویا» راهاندازی شده است، قبلاً این مراحل را تکمیل کردهاید و میتوانید از این بخش رد شوید.
اگر قبلاً این کار را نکردهاید، «کیتهای توسعه نرمافزار Firebase برای Flutter» را نصب و مقداردهی اولیه کنید.
از فهرست راهنمای ریشه پروژه Flutter خود، دستور زیر را برای نصب افزایه «پیوندهای پویا» اجرا کنید:
flutter pub add firebase_dynamic_linksاگر درحال ساختن برنامه Android هستید، صفحه تنظیمات پروژه کنسول Firebase را باز کنید و مطمئن شوید کلید امضای SHA-1 را مشخص کردهاید. اگر از «پیوندهای برنامه» استفاده میکنید، کلید SHA-256 خود را نیز مشخص کنید.
در کنسول Firebase، بخش پیوندهای پویا را باز کنید.
اگر قبلاً دامنهای برای «پیوندهای پویا» خود راهاندازی نکردهاید، روی دکمه شروع به کار کلیک کنید و پیاموارهها را دنبال کنید.
اگر ازقبل دامنه «پیوندهای پویا» دارید، آن را یادداشت کنید. وقتی «پیوندهای پویا» را بهصورت برنامهریزیشده ایجاد میکنید، باید دامنه «پیوندهای پویا» را ارائه دهید.

توصیهشده: از منو «بیشتر» (⋮)، الگوهای نشانی وب مجاز در پیوندهای عمیق و پیوندهای برگشتی را مشخص کنید. با انجام این کار، از ایجاد «پیوندهای پویا» توسط طرفهای غیرمجاز که از دامنه شما به سایتهایی که تحت کنترل شما نیستند هدایت میشوند جلوگیری میکنید.
مجاز کردن الگوهای نشانی وب خاص را ببینید.
ساختن «پیوند پویا» از پارامترها
برای ایجاد «پیوند پویا»، 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);
بهطور پیشفرض، «پیوندهای پویای» کوتاه با پسوندهایی تولید میشوند که فقط چند حرف طول دارند. اگرچه این کار پیوندها را فشردهتر میکند، اما این احتمال را نیز بهوجود میآورد که کسی بتواند پیوند کوتاه معتبری را حدس بزند. اغلب، اگر کسی این کار را انجام دهد، هیچ ضرری ندارد، زیرا پیوند به اطلاعات عمومی منتهی میشود.
بااینحال، اگر پیوندهای کوتاه شما به اطلاعات خاص کاربر منتهی میشود، باید پیوندهای طولانیتری با پسوندهای ۱۷ کاراکتری ایجاد کنید که احتمال حدس زدن «پیوند پویا» معتبر را برای دیگران بسیار پایین میآورد. برای انجام این کار، ShortDynamicLinkType.unguessable را
به روش buildShortLink() ارسال کنید:
final unguessableDynamicLink = await FirebaseDynamicLinks.instance.buildShortLink(
dynamicLinkParams,
shortLinkType: ShortDynamicLinkType.unguessable,
);
پارامترهای «پیوند پویا»
میتوانید از «میانای برنامهسازی کاربردی سازنده پیوند پویا» برای ایجاد «پیوندهای پویا» با هریک از پارامترهای پشتیبانیشده استفاده کنید. مرجع میانای برنامهسازی کاربردی را ببینید.
مثال زیر «پیوند پویایی» با چندین پارامتر رایج ایجاد میکند: تنظیم:
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 | |
|---|---|
| تنظیم پیوند | پیوندی که برنامهتان باز خواهد کرد. نشانی وبی را مشخص کنید که برنامهتان بتواند آن را مدیریت کند، معمولاً محتوا یا دادهبرنامه که منطق ویژه برنامه را راهاندازی میکند (مثل اعطای اعتبار به کاربر با کد تخفیف یا نمایش صفحه خوشامدگویی). این پیوند باید نشانی وب با قالببندی خوب باشد، بهدرستی کدبندی نشانی وب شده باشد، از HTTP یا HTTPS استفاده کند، و نمیتواند پیوند پویا دیگری باشد. |
| setDomainUriPrefix | پیشوند نشانی وب «پیوند پویا» شما، که میتوانید آن را در کنسول Firebase پیدا کنید. A
دامنه «پیوند پویا» شبیه مثالهای زیر است:
https://example.com/link https://example.page.link |
| پارامترهای Android | |
|---|---|
| setFallbackUrl | پیوند برای باز کردن زمانی که برنامه نصب نشده است. این را مشخص کنید تا وقتی برنامه نصب نشده است، بهجای نصب برنامه از «فروشگاه Play»، کار دیگری انجام شود، مثلاً نسخه وب تلفن همراه محتوا باز شود، یا صفحه تبلیغاتی برنامهتان نمایش داده شود. |
| تنظیم حداقل نسخه | versionCode حداقل نسخه برنامه شما که میتواند پیوند را باز کند. اگر برنامه نصبشده نسخه قدیمیتری باشد، کاربر به «فروشگاه Play» هدایت میشود تا برنامه را ارتقا دهد. |
| IosParameters | |
|---|---|
| setAppStoreId | «شناسه App Store» برنامه شما که برای ارسال کاربران به App Store درصورتیکه برنامه نصب نشده باشد استفاده میشود |
| setFallbackUrl | پیوند برای باز کردن زمانی که برنامه نصب نشده است. این کار را مشخص کنید تا وقتی برنامه نصب نشده است، بهجای نصب برنامه از «فروشگاه برنامهها»، کار دیگری انجام شود، مثلاً نسخه وب تلفن همراه محتوا باز شود، یا صفحه تبلیغاتی برنامهتان نمایش داده شود. |
| تنظیم طرحواره سفارشی | طرح نشانی وب سفارشی برنامه شما، درصورتیکه برای چیزی غیراز شناسه بسته برنامه شما تعریف شده باشد |
| setIpadFallbackUrl | پیوند برای باز کردن در iPad وقتی برنامه نصب نشده است. این را مشخص کنید تا وقتی برنامه نصب نشده است، بهجای نصب برنامه از «فروشگاه برنامهها» کار دیگری انجام شود، مثلاً نسخه وب محتوا باز شود یا صفحه تبلیغاتی برنامهتان نمایش داده شود. |
| setIpadBundleId | شناسه بسته برنامه iOS که در iPad برای باز کردن پیوند استفاده میشود. برنامه باید از صفحه «نمای کلی» کنسول Firebase به پروژه شما متصل شود. |
| تنظیم حداقل نسخه | شماره نسخه حداقل نسخه برنامهتان که میتواند پیوند را باز کند. این پرچم هنگام باز شدن به برنامه شما منتقل میشود و برنامه شما باید تصمیم بگیرد که با آن چه کند. |
| پارامترهای NavigationInfo | |
|---|---|
| setForcedRedirectEnabled | اگر روی «۱» تنظیم شود، وقتی «پیوند پویا» باز میشود، از صفحه پیشنمایش برنامه رد میشود و بهجای آن به برنامه یا فروشگاه هدایت میشود. صفحه پیشنمایش برنامه (بهطور پیشفرض فعال است) میتواند کاربران را با اطمینان بیشتری به مقصد مناسب هدایت کند وقتی «پیوندهای پویا» را در برنامهها باز میکنند؛ بااینحال، اگر انتظار دارید «پیوند پویا» فقط در برنامههایی باز شود که میتوانند «پیوندهای پویا» را بدون این صفحه بهطور مطمئن باز کنند، میتوانید آن را با این پارامتر غیرفعال کنید. این پارامتر فقط بر عملکرد «پیوند پویا» در iOS تأثیر میگذارد. |
| پارامترهای برچسب فراداده اجتماعی | |
|---|---|
| setTitle | عنوان مورد استفاده زمانی که «پیوند پویا» در پست اجتماعی همرسانی میشود. |
| setDescription | شرحی که هنگام همرسانی «پیوند پویا» در پست اجتماعی استفاده میشود. |
| setImageUrl | نشانی وب تصویری مرتبط با این پیوند. تصویر باید حداقل ۳۰۰x۲۰۰ پیکسل و کمتر از ۳۰۰ کیلوبایت باشد. |
| GoogleAnalyticsParameters | |
|---|---|
| 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 منتقل میشوند. |