يركز دليل نقل البيانات هذا على استخدام روابط التطبيقات و الروابط العامة، واستخدام ميزة "استضافة Firebase" لاستضافة ملفات ربط التطبيق بالموقع الإلكتروني اختياريًا.
يحلّ هذا الإجراء محلّ الميزات التالية في "روابط Firebase الديناميكية":
الميزة | روابط Firebase الديناميكية | روابط التطبيقات / الروابط العامة |
---|---|---|
توجيه المستخدمين إلى المتجر المناسب لجهازهم من خلال نقرة واحدة على الرابط | ★ | |
توفير مواصلة للرحلة للمستخدمين بعد تنزيل تطبيقك وتثبيته باستخدام رابط مؤجَّل لصفحة معيّنة في التطبيق | ★ | |
تقديم تجربة سياقية للمستخدمين باستخدام محتوى مرتبط بصفحة معيّنة في تطبيقك (عندما يكون مثبّتًا) | ||
تقديم بيانات إحصاءات ذات صلة بأحداث النقر على الروابط الديناميكية | ||
توفير إمكانية إنشاء عناوين URL للروابط المختصرة |
إذا كنت بحاجة إلى ميزات أخرى من Firebase Dynamic Link لعملية نقل البيانات غير المتوافقة مع هذا الدليل، يمكنك الاطّلاع على سيناريوهات نقل البيانات الأخرى في مستندات الأسئلة الشائعة حول إيقاف الروابط الديناميكية نهائيًا.
لنفترض أنّ لديك رابطًا ديناميكيًا في 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" لاستبدال هذا الجزء من الوظائف التي يوفّرها "روابط Firebase الديناميكية" أثناء نقل "روابط Firebase الديناميكية" إلى الحلول الجديدة لنقل "روابط التطبيقات" / "الروابط الشاملة".
ستحتاج إلى المعلومات التالية لإكمال عملية نقل البيانات:
- روابط Firebase الديناميكية التي تريد نقلها
- مَعلمات عناوين URL للروابط لصفحات معيّنة المضمّنة في الروابط الديناميكية
- النطاق الذي تخطّط لاستخدامه لاستبدال نطاق Firebase Dynamic Links السابق (إن وُجد)
يمكنك استخدام دليل تصدير البيانات الوصفية للروابط الديناميكية لتصدير البيانات الوصفية الحالية للروابط و الحصول على المعلومات الواردة أعلاه.
نظرة عامة على خطوات نقل البيانات
وفِّر نطاقًا جديدًا (إذا لم يكن لديك نطاق تريد استخدامه) لاستضافة ملفات إعدادات "رابط التطبيق" أو "الرابط الشامل" باستخدام "استضافة Firebase" .
أنشئ ملفات إعدادات "رابط التطبيق" أو "الرابط الشامل" واستضِفها على نطاق الاستضافة.
أنشئ روابط تطبيقات أو روابط عامة جديدة تتطابق مع مخطّط الرابط لصفحة معيّنة المستخدَم في "روابط Firebase الديناميكية".
عليك تحديث تطبيقات Android أو iOS ورمز التطبيق لتلقّي الروابط لصفحات في التطبيق.
اختبار عمليات دمج روابط التطبيقات / الروابط العامة
استبدِل "روابط Firebase الديناميكية" المنشورة أو المشترَكة بروابط التطبيقات وروابط Universal Links.
ستكون الخطوة الأولى مشترَكة لكل من عمليتَي نقل بيانات روابط التطبيقات أو الروابط العامة. تختلف الخطوات التالية حسب المنصة، لذا انتقِل إلى قسم الدليل أدناه حسب المنصة التي تريد نقل بياناتها أولاً.
توفير نطاق جديد لاستضافة ملفات إعدادات "رابط التطبيق" أو "الرابط العام" باستخدام ميزة "استضافة Firebase"
اختيار نطاق
الخطوة الأولى هي اختيار نطاق تريد استخدامه لـ "روابط التطبيقات" / "الروابط الشاملة". سيكون هذا هو النطاق الذي سيتم استخدامه للروابط الجديدة التي ستشاركها مع المستخدمين.
في حال استخدام
استضافة Firebase،
يتمّ إعداد النطاقات الفرعية للمشروع بالتنسيق your-project-domain.web.app
أو
your-project-domain.firebaseapp.com
تلقائيًا بدون أي تكلفة. يمكنك
استخدام نطاق مخصّص اختياريًا مع استضافة Firebase أو بدونها لاستضافة
ملفّات إعدادات "رابط التطبيق" أو "الرابط الشامل" أيضًا.
إعداد "استضافة Firebase"
بعد ذلك، عليك إعداد مثيل "استضافة Firebase" وضبط إعداداته.
عند الانتهاء من إعداد نسخة "استضافة Firebase"، سيكون لديك
نطاق مشابه لنطاق your-project-domain.web.app
، أو
نطاق مخصّص
إذا كنت تفضّل ذلك.
خطوات نقل بيانات ميزة "روابط التطبيقات" في Android
إنشاء ملفات إعدادات "رابط التطبيق" واستضافتها على نطاق الاستضافة الجديد
لاستخدام روابط التطبيقات، يجب استضافة ملفّ إعدادات يساعد في
إنشاء ربط آمن بين النطاق المستخدَم في روابطك و
تطبيقك. بالنسبة إلى روابط التطبيقات، يكون هذا الملفّ هو ملفّ assetlinks.json
.
خطوات إنشاء ملف assetlinks.json واستضافته
يتيح لنا ملف assetlinks.json
تقديم قائمة بالتطبيقات المعتمَدة التي
يمكنها التعامل مع محتوى نطاق الويب الذي سنستخدمه لإنشاء روابط التطبيقات. يجب استضافة ملف
assetlinks.json نفسه في جذر نطاق الويب
ضمن المسار: /.well-known
.
اتّبِع الخطوات التالية لإكمال عملية الضبط هذه:
أنشئ المجلد
.well-known
ضمن المجلد public في الدليل الجذري لـ 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.
يُرجى الرجوع إلى هذا القسم من مستندات "روابط التطبيقات" لمزيد من التعليمات حول إكمال هذه الخطوة.
بدلاً من ذلك، يمكنك أيضًا استخدام مساعِد روابط التطبيقات في Android Studio لإنشاء محتوى ملف 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، واستخدامها الآن كمَعلمة رابط التطبيق لتطبيقك.
عليك تكرار هذه العملية لكل رابط ديناميكي على 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 لاسترداد data للرابط لصفحة في التطبيق واستخدامه لتحسين تجربة الرابط لصفحة في تطبيقك. ويشبه هذا الرمز البرمجي الرمز البرمجي الذي سبق أن أضفته إلى تطبيقك عند دمجه مع Firebase Dynamic Links.
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 Studio، أو استخدام الأمر التالي لعنوان URL الخاص برابط تطبيق سبق أن أعددته لضمان تشغيل النشاط المطابق بشكل صحيح:
adb shell am start -a android.intent.action.VIEW -d <your_deep_link_url>
استبدال "روابط Firebase الديناميكية" المنشورة أو المشترَكة بـ "روابط التطبيقات"
الخطوة النهائية لنقل البيانات هي استبدال روابط Firebase الديناميكية المنشورة أو المشترَكة بـ "روابط التطبيقات" كلما أمكن ذلك، ومواصلة استخدام "روابط التطبيقات" من الآن فصاعدًا.
يختلف إكمال هذه الخطوة حسب مكان نشر "روابط Firebase الديناميكية" وطريقة نشرها، ولكن لمساعدتك في تتبُّع الروابط الحالية، يمكنك تصدير البيانات الوصفية الحالية لروابط Firebase الديناميكية. اطّلِع على دليل تصدير البيانات الوصفية للروابط الديناميكية.
خطوات نقل بيانات "الروابط العامة" على نظام التشغيل iOS
إنشاء ملفات إعدادات Universal Links واستضافتها على نطاق الاستضافة الجديد
لاستخدام الروابط العامة، يجب استضافة ملف إعدادات يساعد في
إنشاء ربط آمن بين النطاق المستخدَم في الروابط و
تطبيقك. بالنسبة إلى الروابط العامة، يكون هذا الملف هو ملف 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 عادية لصفحات في التطبيق تتطابق مع النطاق الجديد الذي أنشأته لملف الروابط الشاملة.
على سبيل المثال، لنفترض أنّ لديك رابط 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 ورمز التطبيق لتلقّي الروابط الجديدة لصفحات في التطبيق.
ننصحك باتّباع كامل مستندات الروابط العامة هنا لضبط تطبيقك لمعالجة الروابط لصفحات في التطبيق، ولكن تشمل الخطوات الرئيسية ما يلي:
تعديل إعدادات مشروعك لتفعيل تطبيقك للتعامل مع روابط النهايات العميقة من نطاقك الذي تم إنشاؤه حديثًا
تلقّي الرابط لصفحة في التطبيق في رمز تطبيقك
لتعديل إعدادات مشروعك لتفعيل تطبيقك للتعامل مع ملف الروابط لصفحات في التطبيق، عليك إضافة نطاق مرتبط إضافي إلى مشروعك في IDE 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)
}
يلغى الرمز أعلاه طريقة طلب معاودة الاتصال الخاصة بـ Universal Link ويسجّل عنوان URL لرابط التوجيه إلى صفحة معيّنة في التطبيق إذا كان متوفّرًا.
سنستدعي الآن طريقة showReceivedUrl
نفسها من فئة SceneDelegate
أيضًا، لأنّه إذا كان التطبيق مفتوحًا في الوقت الذي نقر فيه المستخدم على
الرابط العام، سيكون الإجراء المُعاد الاتصال به للرابط العام داخل SceneDelegate
هو الذي
سيتم استدعاؤه.
func scene(_ scene: UIScene, continue userActivity: NSUserActivity) {
AppDelegate.showReceivedUrl(userActivity: userActivity)
}
اختبار ميزة "الروابط العامة"
يمكنك اختبار الروابط الشاملة التي أنشأتها للتو من خلال تشغيل تطبيقك على جهاز فعلي أو محاكي.
عليك إنشاء رابط قابل للنقر باستخدام النطاق الذي تم ضبطه لعناوين Universal Links، ثم النقر على هذا الرابط للتأكّد من أنّه يفتح في تطبيقك وينقلك إلى الشاشة المقصودة في تطبيقك.
إتاحة إعلانات "بانر التطبيقات الذكية"
ننصحك بشدة باستخدام إعلانات البانر الذكية للتطبيقات كطريقة لتقديم تجربة مشابهة لتلك التي يوفّرها الربط الديناميكي في Firebase.
باستخدام إعلانات البانر الذكية للتطبيقات، سيتم نقل المستخدمين إلى "متجر التطبيقات" للاطّلاع على بطاقة بيانات تطبيقك إذا لم يكن مثبّتًا على أجهزتهم. يمكنك أيضًا اختياريًا ضبط مَعلمة لنقلها إلى تطبيقك بعد تنزيله وتثبيته لتزويد المستخدمين بمواصلة لتجربتهم. إذا كان تطبيقك مثبّتًا، سيتم فتحه مع إدخال المَعلمة في تطبيقك للمساعدة في توجيه المستخدم إلى المحتوى المناسب استنادًا إلى بانر التطبيقات الذكية الذي نقر عليه.
استبدال "روابط Firebase الديناميكية" المنشورة أو المشترَكة بـ "روابط التطبيقات"
الخطوة الأخيرة لنقل البيانات هي استبدال "روابط Firebase الديناميكية" المنشورة أو المشترَكة بـ "الروابط العامة" كلما أمكن ذلك، ومواصلة استخدام "الروابط العامة" من الآن فصاعدًا.
يختلف إكمال هذه الخطوة حسب مكان نشر روابط Firebase الديناميكية وطريقة نشرها.
لمساعدتك في تتبُّع "روابط Firebase الديناميكية" الحالية التي سيتم نقلها، سنُصدر دليلاً حول كيفية تصدير البيانات الوصفية للروابط القصيرة من "روابط Firebase الديناميكية". يُرجى الرجوع إلى مستند الأسئلة الشائعة حول إيقاف الروابط الديناميكية نهائيًا للاطّلاع على مزيد من المعلومات.