يركّز دليل نقل البيانات هذا على استخدام روابط التطبيقات والروابط العامة، مع إمكانية استخدام Firebase Hosting لاستضافة ملفات ربط التطبيق بالموقع الإلكتروني.
يحلّ هذا النقل محلّ ميزات "روابط Firebase الديناميكية" التالية:
الميزة | روابط Firebase الديناميكية | روابط التطبيقات / الروابط العامة |
---|---|---|
توجيه المستخدمين إلى المتجر المناسب لأجهزتهم من خلال نقرة واحدة على الرابط | ★ | |
توفير رحلة مستخدم متواصلة بعد تنزيل تطبيقك وتثبيته باستخدام رابط مؤجَّل لصفحة معيّنة | ★ | |
تزويد المستخدمين بتجربة سياقية باستخدام المحتوى المرتبط بصفحات في التطبيق (عندما يكون التطبيق مثبّتًا) | ||
توفير بيانات إحصائية ذات صلة بأحداث النقر على الروابط الديناميكية | ||
توفير إمكانية إنشاء عناوين URL للروابط القصيرة |
إذا كنت لا تزال بحاجة إلى ميزات أخرى من ميزات "روابط Firebase الديناميكية" لنقل البيانات غير المتاحة في هذا الدليل، يمكنك الاطّلاع على سيناريوهات نقل البيانات الأخرى في مستند الأسئلة الشائعة حول إيقاف ميزة "روابط ديناميكية" نهائيًا.
لنفترض أنّ لديك رابطًا ديناميكيًا من Firebase يبدو على النحو التالي:
مثال على رابط ديناميكي | |
---|---|
اسم الرابط | مرحبًا بك في Example.com |
رابط لصفحة معيّنة | https://example.web.app/welcome |
تطبيق Android | com.example.android |
تطبيق Apple | com.example.ios |
رابط ديناميكي طويل | https://example.page.link/?link=https://example.web.app/welcome&apn=com.example.android&isi=123456789&ibi=com.example.iuos |
رابط ديناميكي قصير | https://example.page.link/m9Mm |
يهدف دليل نقل البيانات هذا إلى استبدال "روابط Firebase الديناميكية" على النحو التالي:
https://example.page.link/m9Mm
باستخدام روابط لصفحات في التطبيق على شكل روابط تطبيقات أو روابط عامة، مثل:
https://your-project-domain.web.app/welcome
يُرجى العِلم أنّ الرابط لصفحة معيّنة في التطبيق الذي يستخدم "روابط التطبيق" أو "الروابط العامة" سيوفّر للمستخدمين ما يلي:
- رابط لصفحة في التطبيق يمكن للمستخدم النقر عليه وسيؤدي إلى فتح تطبيقك إذا كان مثبّتًا
- مواصلة رحلة المستخدم من خلال توجيهه إلى جزء معيّن من تطبيقك عند فتحه
ومع ذلك، لن يوفّر الرابط لصفحة معيّنة في التطبيق من خلال رابط التطبيق أو الرابط العام السلوكيات التالية للمستخدمين (التي كانت توفّرها "روابط Firebase الديناميكية" سابقًا):
- توجيه المستخدمين إلى المتجر المناسب لأجهزتهم لتنزيل تطبيقك وتثبيته
- توفير استمرار لرحلة المستخدم بعد تنزيل التطبيق وتثبيته وفتحه للمرة الأولى
يُرجى ملاحظة الاختلافات في السلوك والوظائف بين "روابط التطبيقات" و"الروابط العامة" مقارنةً بـ "روابط Firebase الديناميكية" الموضّحة في الجدول أعلاه.
قبل البدء
تستفيد "الروابط الديناميكية من Firebase" من "روابط التطبيقات" (على Android) و"الروابط العامة" (على iOS) في التنفيذ الأساسي الخاص بها من أجل توفير وظيفة الربط بصفحات في التطبيق بعد تثبيت تطبيقك.
يوضّح هذا الدليل كيفية إنشاء "روابط تطبيقات" و"روابط عامة" خاصة بك باستخدام Firebase Hosting لاستبدال جزء الوظائف الذي توفّره Firebase Dynamic Links أثناء نقل بيانات Firebase Dynamic Links إلى حلّ نقل البيانات الجديد الخاص بـ "روابط التطبيقات" و"الروابط العامة".
ستحتاج إلى المعلومات التالية لإكمال عملية نقل البيانات:
- روابط Firebase الديناميكية التي تريد نقلها
- مَعلمات عنوان URL للرابط لصفحة في التطبيق مضمّنة في الروابط الديناميكية
- النطاق الذي تخطّط لاستخدامه بدلاً من نطاقك السابق في Firebase Dynamic Links (إذا كان ذلك منطبقًا)
يمكنك استخدام دليل تصدير البيانات الوصفية لروابط Dynamic Links لتصدير البيانات الوصفية الحالية للروابط والحصول على المعلومات المذكورة أعلاه.
نظرة عامة على خطوات نقل البيانات
توفير نطاق جديد (إذا لم يكن لديك نطاق تريد استخدامه) لاستضافة ملفات إعدادات "روابط التطبيق" / "الروابط العامة" باستخدام "استضافة Firebase"
أنشئ ملفات إعدادات "روابط التطبيقات" أو "الروابط العامة" واستضِفها على نطاق الاستضافة.
أنشئ روابط جديدة للتطبيقات أو روابط عامة تتطابق مع مخطط الربط لصفحة معيّنة المستخدَم في "روابط Firebase الديناميكية".
عدِّل تطبيقات Android أو iOS ورمز التطبيق لتلقّي الروابط لصفحات في التطبيق.
اختبار عمليات دمج روابط التطبيقات والروابط العامة
استبدِل روابط Firebase الديناميكية المنشورة أو المشارَكة بروابط التطبيقات والروابط العامة.
ستكون الخطوة الأولى مشتركة بين مسارَي نقل البيانات إلى "روابط التطبيقات" أو "الروابط العامة". سيختلف المبلغ المتبقي حسب المنصة، لذا انتقِل إلى قسم الدليل أدناه استنادًا إلى المنصة التي تريد نقل البيانات منها أولاً.
توفير نطاق جديد لاستضافة ملفات إعدادات "روابط التطبيقات" أو "الروابط العامة" باستخدام "استضافة Firebase"
اختيار نطاق
تتمثل الخطوة الأولى في اختيار نطاق تريد استخدامه لروابط التطبيقات / الروابط العامة. سيكون هذا هو النطاق الذي سيتم استخدامه للروابط الجديدة التي ستشاركها مع المستخدمين.
إذا كنت تستخدم
Firebase Hosting،
يتم توفير النطاقات الفرعية للمشروع تلقائيًا بالتنسيق your-project-domain.web.app
أو
your-project-domain.firebaseapp.com
بدون أي تكلفة. يمكنك اختياريًا استخدام نطاق مخصّص مع Firebase Hosting أو بدونه لاستضافة ملفات إعدادات App Link / Universal Link أيضًا.
إعداد خدمة Firebase Hosting
بعد ذلك، عليك إعداد مثيل استضافة Firebase وضبطه.
عند الانتهاء من إعداد مثيل Firebase Hosting، سيكون لديك نطاق مشابه للنطاق your-project-domain.web.app
أو نطاق مخصّص إذا كنت تفضّل ذلك.
خطوات نقل البيانات إلى ميزة Android App Links
إنشاء ملفات إعداد App Link واستضافتها على نطاق الاستضافة الجديد
لاستخدام "روابط التطبيقات"، يجب استضافة ملف إعدادات يساعد في إنشاء ربط آمن بين النطاق المستخدَم في الروابط وتطبيقك. بالنسبة إلى "روابط التطبيقات"، يكون هذا الملف هو ملف assetlinks.json
.
خطوات إنشاء ملف assetlinks.json واستضافته
يتيح لنا ملف assetlinks.json
تقديم قائمة بالتطبيقات المصرّح لها والتي يمكنها التعامل مع محتوى نطاق الويب الذي سنستخدمه لروابط التطبيقات. يجب استضافة ملف
assetlinks.json نفسه في جذر نطاق الويب
ضمن المسار: /.well-known
.
اتّبِع الخطوات التالية لإكمال عملية الضبط هذه:
أنشئ المجلد
.well-known
ضمن المجلد العام في الدليل الجذري لخدمة Firebase Hosting.أنشئ ملفًا باسم
assetlinks.json
ضمن المجلد.well-known
.انسخ المحتوى التالي إلى ملف assetlinks.json، مع الانتباه إلى معنى كل حقل أدناه:
[{ "relation": ["delegate_permission/common.handle_all_urls"], "target": { "namespace": "android_app", "package_name": "com.example.android", "sha256_cert_fingerprints": ["01:23:45:67:89:AB:CD:EF:01:23:45:67:89:AB:CD:EF:01:23:45:67:89:AB:CD:EF:01:23:45:67:89:AB:CD:EF"] } }]
namespace
: يشير إلى اسم التطبيق الذي تريد تقديمهpackage_name
: يشير إلى applicationId المعرَّف في ملفbuild.gradle
الخاص بالتطبيقsha256_cert_fingerprints
: تشير إلى بصمة الإصبع SHA256 لملف مخزن المفاتيح الذي تستخدمه لتوقيع التطبيق.
يمكنك استخدام ملف debug.keystore الذي يستخدمه "استوديو Android" لإنشاء سجل sha256_cert_fingerprints لأغراض تصحيح الأخطاء. يمكنك العثور على الملف في
/Users/<username>/.android/debug.keystore
على أجهزة Mac وLinux وC:\Users\<username>\.android\debug.keystore
على أجهزة Windows.من مخزن المفاتيح هذا، يمكنك استرداد قيمة SHA256 باستخدام أداة keytool.
يُرجى الرجوع إلى هذا القسم من مستندات App Links للحصول على مزيد من التعليمات حول إكمال هذه الخطوة.
يمكنك أيضًا استخدام مساعِد روابط التطبيقات في "استوديو Android" لإنشاء محتوى ملف assetlinks.json وإعداد تطبيقك للتعامل مع روابط التطبيقات.
عدِّل ملف firebase.json لفهرسة الملف بغرض الاستضافة.
"headers": [ { "source": "/.well-known/assetlinks.json", "headers": [ { "key": "Content-Type", "value": "application/json" } ] } ]
بعد أن أصبح ملف assetlinks.json جاهزًا، شغِّل
firebase deploy
لاستضافة التغييرات.يُرجى العِلم أنّه يجب تثبيت Firebase CLI لتنفيذ أمر النشر أعلاه.
firebase deploy --only hosting
تحقَّق من ملف assetlinks.json من خلال الانتقال إلى
https://your-project-domain.web.app/.well-known/assetlinks.json
إنشاء روابط تطبيقات جديدة تتطابق مع مخطط الروابط لصفحات في التطبيق المستخدَم في "روابط Firebase الديناميكية"
في هذه الخطوة، ستعيد إنشاء الروابط لصفحات معيّنة من "روابط Firebase الديناميكية" باستخدام عناوين URL عادية للروابط لصفحات معيّنة تتطابق مع النطاق الجديد الذي أنشأته لـ "روابط التطبيقات".
على سبيل المثال، لنفترض أنّ لديك رابط Firebase ديناميكيًا على النحو التالي:
مثال على رابط ديناميكي | |
---|---|
اسم الرابط | مرحبًا بك في Example.com |
رابط لصفحة معيّنة | https://example.web.app/welcome |
تطبيق Android | com.example.android |
تطبيق Apple | com.example.ios |
رابط ديناميكي طويل | https://example.page.link/?link=https://example.web.app/welcome&apn=com.example.android&isi=123456789&ibi=com.example.iuos |
رابط ديناميكي قصير | https://example.page.link/m9Mm |
في هذه الحالة، عليك استخراج مَعلمة الرابط لصفحة في التطبيق، أي https://example.web.app/welcome، واستخدامها كمَعلمة App Link لتطبيقك.
عليك تكرار هذه العملية لكل رابط ديناميكي على Firebase تريد نقل بياناته لاستخدام "روابط التطبيقات" أو "الروابط العامة"، وتكرار مخطط الربط لصفحات في التطبيق الذي استخدمته.
على سبيل المثال، يُرجى الاطّلاع على مجموعة الروابط القصيرة التالية من "روابط Firebase الديناميكية"، ومعلَمات الروابط لصفحات معيّنة، وقيم الروابط لصفحات معيّنة التي تم نقلها:
رابط مختصر | مَعلمة الرابط لصفحة في التطبيق | رابط مؤدٍّ إلى صفحة في التطبيق تمّت نقل بياناته |
---|---|---|
yourapp.page.link/welcome | https://example.com/welcome | yourapp.web.app/welcome |
yourapp.page.link/c7sn | https://example.com/main/?p=23&t=1 | yourapp.web.app/main/?p=23&t=1 |
yourapp.page.link/social | https://example.com/friendinvite/?add=1 | yourapp.web.app/friendinvite/?add=1 |
بعد ذلك، عليك استبدال أي مثيلات لروابط Firebase الديناميكية التي تم نشرها أو مشاركتها بالروابط الجديدة لنقل المستخدمين إلى صفحات معيّنة التي تم نقلها، وذلك لكي ينقر المستخدمون على روابط التطبيقات هذه بدلاً من روابط Firebase الديناميكية السابقة.
تعديل تطبيق Android ورمز التطبيق لتلقّي الروابط لصفحات في التطبيق
بعد اختيار نطاق وتحديد مخطط الروابط المؤدية إلى صفحات في تطبيقك ونقل "روابط Firebase الديناميكية" إلى "روابط التطبيق"، تتمثّل الخطوة التالية في تعديل تطبيق Android ورمز التطبيق لتلقّي الروابط الجديدة المؤدية إلى صفحات في تطبيقك.
ننصحك باتّباع مستندات روابط التطبيقات الكاملة هنا أو دليل "استوديو Android" حول كيفية ضبط تطبيقك للتعامل مع الروابط لصفحات في التطبيق، ولكن تتضمّن الخطوات الرئيسية ما يلي:
- تحديد الأنشطة التي يجب أن تتعامل مع الروابط لصفحات معيّنة
- إضافة فلتر أهداف لهذه الأنشطة في ملف AndroidManifest.xml
- تلقّي الرابط لصفحة في التطبيق في رمز تطبيق الأنشطة
لنفترض أنّك أردت استخدام MainActivity للتعامل مع بعض الروابط لصفحات في التطبيق. لإجراء ذلك، عليك إضافة فلتر الأهداف التالي إلى MainActivity في ملف AndroidManifest.xml:
<activity android:name=".MainActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:host="example.web.app" android:scheme="http"
android:pathPrefix="/welcome" />
<data android:host="example.web.app" android:scheme="https"
android:pathPrefix="/welcome" />
</intent-filter>
</activity>
في هذه الخطوة، عليك تحديد أنّ MainActivity هي الوجهة المخصّصة للتعامل مع الروابط لصفحات معيّنة من النطاق wxample.web.app والتي تتضمّن بادئة المسار /welcome. يُرجى العِلم أنّه عليك أيضًا تحديد السمة android:autoVerify="true"، والتي تتيح لك تحديد تطبيقك كمعالج تلقائي لهذا النوع من الروابط.
أخيرًا، عليك إضافة الرمز البرمجي في MainActivity لاسترداد بيانات الرابط لصفحة معيّنة واستخدامها لتحسين تجربة الرابط لصفحة معيّنة في تطبيقك. يشبه ذلك المنطق الذي ربما سبق لك ترميزه في تطبيقك عند الدمج مع "روابط Firebase الديناميكية".
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.main)
val data: Uri? = intent?.data
val toast = Toast.makeText(this, data, duration)
toast.show()
}
اختبار روابط التطبيقات
يمكنك اختبار روابط التطبيقات التي أنشأتها للتو من خلال تشغيل تطبيقك على جهاز فعلي أو في محاكي Android.
عليك إنشاء رابط قابل للنقر باستخدام النطاق الذي تم ضبطه لروابط التطبيق، ثم النقر على هذا الرابط للتأكّد من أنّه يفتح تطبيقك وينقلك إلى النشاط المقصود.
يمكنك أيضًا اختبار عملية دمج "روابط التطبيقات" باستخدام مساعِد روابط التطبيقات في "استوديو Android"، أو استخدام الأمر التالي لعنوان URL خاص بـ "رابط لصفحة في التطبيق" تم إعداده لضمان تشغيل النشاط المطابق بشكلٍ سليم:
adb shell am start -a android.intent.action.VIEW -d <your_deep_link_url>
استبدال "روابط Firebase الديناميكية" المنشورة أو المشارَكة بـ "روابط التطبيقات"
تتمثّل الخطوة الأخيرة في عملية نقل البيانات في استبدال روابط Firebase الديناميكية المنشورة أو المشترَكة بروابط التطبيقات حيثما أمكن ذلك، ومواصلة استخدام روابط التطبيقات من الآن فصاعدًا.
سيختلف إكمال هذه الخطوة حسب مكان نشر "روابط Firebase الديناميكية" وطريقة نشرها، ولكن لمساعدتك في تتبُّع الروابط الحالية، يمكنك تصدير البيانات الوصفية الحالية لـ "روابط Firebase الديناميكية". راجِع دليل تصدير البيانات الوصفية لروابط Dynamic Links.
خطوات نقل البيانات إلى "الروابط العامة" على iOS
إنشاء ملفات إعداد الروابط العامة واستضافتها على نطاق الاستضافة الجديد
لاستخدام الروابط العامة، يجب استضافة ملف إعدادات يساعد في إنشاء ربط آمن بين النطاق المستخدَم في الروابط وتطبيقك. بالنسبة إلى الروابط العامة، يكون هذا الملف هو ملف apple-app-site-association
(المعروف أيضًا باسم ملف AASA).
خطوات إنشاء ملف apple-app-site-association واستضافته
يسمح لنا ملف AASA بتقديم قائمة بالتطبيقات المسموح لها بمعالجة محتوى نطاق الويب الذي سنستخدمه للروابط العامة. يجب استضافة ملف AASA في جذر نطاق الويب ضمن المسار /.well-known.
اتّبِع الخطوات التالية لإكمال عملية الضبط هذه:
أنشئ المجلد ".well-known" ضمن المجلد العام في دليل الجذر الخاص بخدمة Firebase Hosting.
أنشئ ملفًا باسم "apple-app-site-association" ضمن المجلد ".well-known".
انسخ المحتوى التالي إلى ملف apple-app-site-association، مع الانتباه إلى معنى كل حقل أدناه:
{ "applinks": { "apps": [], "details": [ { "appID": "$TEAM_ID.com.firebase.UniversalLinks", "paths": [ "NOT /_/*", "/*" ] } ] } }
- $TEAM_ID.BundleId - اسم التطبيق المؤهَّل بالكامل والمصرّح له بالتعامل مع الروابط
عدِّل ملف firebase.json لفهرسة الملف بغرض الاستضافة.
"headers": [ { "source": "/.well-known/apple-app-site-association", "headers": [ { "key": "Content-Type", "value": "application/json" } ] } ]
بعد إعداد ملف AASA، نفِّذ عملية نشر Firebase لاستضافة التغييرات.
تحقَّق من ملف AASA من خلال الانتقال إلى https://your-project-domain.web.app/.well-known/app-app-site-association
إنشاء روابط عامة جديدة تتطابق مع مخطط الروابط لصفحات في التطبيق المستخدَم في "روابط Firebase الديناميكية"
في هذه الخطوة، ستعيد إنشاء الروابط لصفحات معيّنة من "روابط Firebase الديناميكية" باستخدام عناوين URL عادية للروابط لصفحات معيّنة تتطابق مع النطاق الجديد الذي أنشأته لروابط Universal Links.
على سبيل المثال، لنفترض أنّ لديك رابط Firebase ديناميكيًا على النحو التالي:
مثال على رابط ديناميكي | |
---|---|
اسم الرابط | مرحبًا بك في Example.com |
رابط لصفحة معيّنة | https://example.web.app/welcome |
تطبيق Android | com.example.android |
تطبيق Apple | com.example.ios |
رابط ديناميكي طويل | https://example.page.link/?link=https://example.web.app/welcome&apn=com.example.android&isi=123456789&ibi=com.example.iuos |
رابط ديناميكي قصير | https://example.page.link/m9Mm |
في هذه الحالة، عليك استخراج مَعلمة الرابط لصفحة في التطبيق، أي https://example.web.app/welcome، واستخدامها كمَعلمة Universal Link لتطبيقك.
عليك تكرار هذه العملية لكل رابط ديناميكي على Firebase تريد نقل بياناته لاستخدام "روابط التطبيقات" أو "الروابط العامة"، وتكرار مخطط الربط لصفحات في التطبيق الذي استخدمته.
على سبيل المثال، يُرجى الاطّلاع على مجموعة الروابط القصيرة التالية من "روابط Firebase الديناميكية"، ومعلَمات الروابط لصفحات معيّنة، وقيم الروابط لصفحات معيّنة التي تم نقلها:
رابط مختصر | مَعلمة الرابط لصفحة في التطبيق | رابط مؤدٍّ إلى صفحة في التطبيق تمّت نقل بياناته |
---|---|---|
yourapp.page.link/welcome | https://example.com/welcome | yourapp.web.app/welcome |
yourapp.page.link/c7sn | https://example.com/main/?p=23&t=1 | yourapp.web.app/main/?p=23&t=1 |
yourapp.page.link/social | https://example.com/friendinvite/?add=1 | yourapp.web.app/friendinvite/?add=1 |
بعد ذلك، عليك استبدال أيّ مثيلات من "روابط Firebase الديناميكية" تم نشرها أو مشاركتها بالروابط الجديدة التي تم نقلها إلى صفحات معيّنة في التطبيق، وذلك لكي ينقر المستخدمون على هذه الروابط العامة بدلاً من "روابط Firebase الديناميكية" السابقة.
تعديل تطبيق iOS ورمز التطبيق لتلقّي الروابط لصفحات في التطبيق
بعد اختيار نطاق وتحديد مخطط الربط بصفحات في التطبيق ونقل "روابط Firebase الديناميكية" إلى "الروابط العامة"، تتمثّل الخطوة التالية في تعديل تطبيق iOS ورمز التطبيق لتلقّي الروابط الجديدة لصفحات في التطبيق.
ننصحك باتّباع مستندات الروابط العامة الكاملة هنا بشأن ضبط تطبيقك للتعامل مع الروابط لصفحات في التطبيق، ولكن تتضمّن الخطوات الرئيسية ما يلي:
عدِّل إعدادات مشروعك لتتمكّن من السماح لتطبيقك بالتعامل مع الروابط لصفحات معيّنة من نطاقك الذي تم إنشاؤه حديثًا.
تلقّي الرابط لصفحة في التطبيق في رمز تطبيقك
لتعديل إعدادات مشروعك من أجل السماح لتطبيقك بالتعامل مع الروابط لصفحات في التطبيق، عليك إضافة نطاق مرتبط آخر إلى مشروعك في xCode للنطاق الذي تخطّط الآن لاستخدامه من أجل استضافة ملف apple-app-site-associate.
ويمكن إجراء ذلك من خلال:
- فتح Xcode
- اختيار مشروعك في مستكشف الملفات
- الانتقال إلى علامة التبويب "التوقيع والإمكانات" في إعدادات مشروعك
- الانتقال إلى قسم "النطاقات المرتبطة"
- انقر على الزرّ + لإضافة النطاق الإضافي إلى مشروعك بالتنسيق "applinks:
".
أخيرًا، عليك تعديل رمز تطبيقك لتتمكّن من تلقّي الروابط لصفحات معيّنة الواردة.
لإجراء ذلك، عليك أولاً تعديل ملف AppDelegate.swift للاستجابة إلى Universal Link من خلال إضافة الرمز التالي:
func application(_ application: UIApplication, continue userActivity: NSUserActivity,
restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {
AppDelegate.showReceivedUrl(userActivity: userActivity);
return true
}
static func showReceivedUrl(userActivity: NSUserActivity) {
if userActivity.activityType == NSUserActivityTypeBrowsingWeb {
let url = userActivity.webpageURL!
print(url.absoluteString)
}
يحلّ الرمز أعلاه محلّ طريقة معاودة الاتصال الخاصة بالرابط العام ويسجّل عنوان URL للرابط لصفحة معيّنة في التطبيق إذا كان متوفّرًا.
سنطلب الآن تنفيذ طريقة showReceivedUrl
نفسها من فئة SceneDelegate
أيضًا، لأنّه إذا كان التطبيق مفتوحًا عندما نقر المستخدم على
الرابط العام، سيتم استدعاء الرابط العام داخل SceneDelegate
.
func scene(_ scene: UIScene, continue userActivity: NSUserActivity) {
AppDelegate.showReceivedUrl(userActivity: userActivity)
}
اختبار الروابط العامة
يمكنك اختبار الروابط العامة التي أنشأتها للتو من خلال تشغيل تطبيقك على جهاز فعلي أو محاكي.
عليك إنشاء رابط قابل للنقر باستخدام النطاق الذي تم إعداده لروابط Universal Links، ثم النقر على هذا الرابط للتأكّد من أنّه يفتح تطبيقك وينقلك إلى الشاشة المقصودة في تطبيقك.
تفعيل "إعلانات البانر الذكية للتطبيقات"
ننصحك بشدة باستخدام إعلانات البانر الذكية للتطبيقات كطريقة لتزويد المستخدمين بتجربة مشابهة لتجربة "روابط Firebase الديناميكية".
باستخدام "لافتات التطبيقات الذكية"، سيتم توجيه المستخدمين إلى بطاقة بيانات تطبيقك على App Store إذا لم يكن تطبيقك مثبّتًا على أجهزتهم. يمكنك أيضًا ضبط مَعلمة اختياريًا لتمريرها إلى تطبيقك بعد تنزيله وتثبيته، وذلك لتوفير تجربة متواصلة للمستخدمين. إذا كان تطبيقك مثبّتًا، سيتم فتحه مع تمرير المَعلمة إلى تطبيقك لمساعدة المستخدم في الانتقال إلى المحتوى المناسب استنادًا إلى "بانر التطبيق الذكي" الذي نقر عليه.
استبدال "روابط Firebase الديناميكية" المنشورة أو المشارَكة بـ "روابط التطبيقات"
ستكون الخطوة الأخيرة في عملية نقل البيانات هي استبدال "روابط Firebase الديناميكية" المنشورة أو المشترَكة بـ "الروابط العامة" حيثما أمكن، ومواصلة استخدام "الروابط العامة" من الآن فصاعدًا.
سيختلف إكمال هذه الخطوة حسب مكان وكيفية نشر "روابط Firebase الديناميكية".
لمساعدتك في تتبُّع "روابط Firebase الديناميكية" الحالية التي سيتم نقلها، سننشر دليلاً حول كيفية تصدير البيانات الوصفية للروابط القصيرة من "روابط Firebase الديناميكية". يُرجى الرجوع إلى مستند الأسئلة الشائعة حول إيقاف ميزة "الروابط الديناميكية" نهائيًا للاطّلاع على المزيد من الأخبار.