يمكنك إنشاء روابط ديناميكية قصيرة أو طويلة باستخدام واجهة برمجة تطبيقات أداة إنشاء الروابط الديناميكية على Firebase. تقبل واجهة برمجة التطبيقات هذه رابطًا ديناميكيًا طويل أو عنصرًا يحتوي على رابط ديناميكي. وتعرض عناوين URL مثل الأمثلة التالية:
https://example.com/link/WXYZ
https://example.page.link/WXYZ
إعداد Firebase وحزمة تطوير البرامج (SDK) للروابط الديناميكية
قبل أن تتمكن من إنشاء روابط ديناميكية في تطبيق Android، يجب تضمين حزمة تطوير البرامج (SDK) لمنصّة Firebase إذا تم إعداد تطبيقك لتلقي الروابط الديناميكية، تكون لديك بالفعل أكملت هذه الخطوات ويمكنك تخطي هذا القسم.
تثبيت حِزم تطوير البرامج (SDK) لمنصة Firebase وإعدادها من أجل 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
.
إلى طريقة 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);
يمكنك إعداد مَعلمات الروابط الديناميكية بالطرق التالية:
مَعلمات Dynamic Link | |
---|---|
تعيين الرابط | سيفتح التطبيق الرابط. يجب تحديد عنوان URL يمكن لتطبيقك التعامل معه. محتوى التطبيق أو حمولة البيانات، وهو ما يؤدي إلى بدء تشغيل (مثل إضافة قسيمة إلى المستخدم أو عرض شاشة الترحيب). يجب أن يكون هذا الرابط عنوان URL بتنسيق صحيح، وأن يكون صحيحًا بترميز عنوان URL، واستخدام إما HTTP أو HTTPS، ولا يمكن أن يكون عنوانًا ديناميكيًا آخر رابط. |
بادئة setDomainUriPrefix | بادئة عنوان URL للرابط الديناميكي، والتي يمكنك العثور عليها في وحدة تحكُّم Firebase. حاسمة
يظهر نطاق الرابط الديناميكي على النحو التالي:
https://example.com/link https://example.page.link |
مَعلمات Android | |
---|---|
setFallbackUrl | الرابط الذي يتم فتحه عندما لا يكون التطبيق مثبَّتًا. تحديد هذا الإجراء شيئًا بخلاف تثبيت تطبيقك من متجر Play عند غير مثبّت، مثل فتح إصدار الويب للأجهزة الجوّالة من المحتوى عرض صفحة ترويجية لتطبيقك. |
ضبط الحد الأدنى للإصدار | رمز الإصدار لأدنى إصدار من تطبيقك يمكنه فتح . إذا كان الإصدار المثبَّت من التطبيق قديمًا، سيتم نقل المستخدم إلى متجر Play لترقية التطبيق. |
معلَمات Ios | |
---|---|
setAppStoreId | رقم تعريف تطبيقك على App Store، والذي يُستخدَم لتوجيه المستخدمين إلى App Store عند التَّطْبِيقْ دَهْ مِشْ مِتْثَبِّتْ |
setFallbackUrl | الرابط الذي يتم فتحه عندما لا يكون التطبيق مثبَّتًا. تحديد هذا الإجراء شيئًا بخلاف تثبيت تطبيقك من App Store عند غير مثبّت، مثل فتح إصدار الويب للأجهزة الجوّالة من المحتوى عرض صفحة ترويجية لتطبيقك. |
تعيين CustomScheme | مخطَّط عنوان URL المخصّص لتطبيقك، إذا تم تحديده على أنّه شيء مختلف معرِّف حِزمة تطبيقك |
setIpadFallbackUrl | الرابط الذي يتم فتحه على أجهزة iPad عندما يكون التطبيق غير مثبَّت. التحديد إلى اتخاذ إجراء بخلاف تثبيت تطبيقك من App Store عند إذا كان التطبيق غير مثبت، مثل فتح إصدار الويب من المحتوى عرض صفحة ترويجية لتطبيقك. |
setIpadBundleId | رقم تعريف الحزمة الخاص بتطبيق iOS والمطلوب استخدامه على أجهزة iPad لفتح الرابط التطبيق بمشروعك من صفحة "نظرة عامة" في "وحدة تحكُّم Firebase". |
ضبط الحد الأدنى للإصدار | رقم الإصدار الأدنى لإصدار تطبيقك الذي يمكنه فتح . يتم إرسال هذه العلامة إلى تطبيقك عند فتحه وعلى التطبيق. يجب أن يقرر ما يجب فعله بها. |
مَعلَمات معلومات التنقّل | |
---|---|
setForcedRedirectEnabled | في حال الضبط على "1"، يمكنك تخطّي صفحة معاينة التطبيق عند ضبط الرابط الديناميكي على فتح القائمة، وبدلاً من ذلك إعادة التوجيه إلى التطبيق أو المتجر. صفحة معاينة التطبيق (مُفعّل تلقائيًا) إلى توجيه المستخدمين بشكل أكثر موثوقية إلى الوجهة المناسبة عند فتح الروابط الديناميكية في التطبيقات وَلَكِنْ إذا كنت تتوقع أن يتم فتح الرابط الديناميكي فقط في التطبيقات التي يمكن فتحها الروابط الديناميكية بشكل موثوق بدون هذه الصفحة، يمكنك إيقافها من خلال . ستؤثّر هذه المَعلمة في سلوك الرابط الديناميكي. على iOS فقط. |
مَعلمات SocialMetaTag | |
---|---|
تعيين العنوان | العنوان المستخدم عند نشر الرابط الديناميكي في مشاركة اجتماعية. |
setDescription | الوصف المستخدم عند نشر الرابط الديناميكي في مشاركة اجتماعية. |
setImageUrl | تمثّل هذه السمة عنوان URL لصورة ذات صلة بهذا الرابط. يجب ألا يقل حجم الصورة عن 300x200 بكسل وأقل من 300 كيلوبايت |
مَعلمات Google Analytics | |
---|---|
setSource setMedium setCampaign setTerm setContent |
مَعلمات "إحصاءات Google Play" هذه المعلمات (`utm_source`, `utm_medium`, "utm_campaign" و"utm_term" و"utm_content") يتم تمريرها إلى "متجر Play" ويتم إلحاقها بحمولة الرابط. |
مَعلمات ItunesConnectAnalytics | |
---|---|
setProviderToken setAffiliateToken setCampaignToken |
معلَمات إحصاءات iTunes Connect هذه المعلمات (`pt`، `at`, `ct`) إلى App Store. |