نقل البيانات من "الروابط الديناميكية" إلى "روابط التطبيقات" و"الروابط العامة"

يركز دليل نقل البيانات هذا على استخدام روابط التطبيقات و الروابط العامة، واستخدام ميزة "استضافة 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 السابق (إن وُجد)

يمكنك استخدام دليل تصدير البيانات الوصفية للروابط الديناميكية لتصدير البيانات الوصفية الحالية للروابط و الحصول على المعلومات الواردة أعلاه.

نظرة عامة على خطوات نقل البيانات

  1. وفِّر نطاقًا جديدًا (إذا لم يكن لديك نطاق تريد استخدامه) لاستضافة ملفات ضبط رابط التطبيق / الرابط العام باستخدام "استضافة Firebase".

  2. أنشئ ملفات إعداد رابط التطبيق / الرابط العام واستضِفها على نطاق الاستضافة.

  3. أنشئ روابط تطبيقات أو روابط عامة جديدة تتطابق مع مخطّط الرابط لصفحة معيّنة المستخدَم في "روابط Firebase الديناميكية".

  4. حدِّث تطبيقات Android / iOS ورمز التطبيق لتلقّي روابط لمواضع معيّنة.

  5. اختبار عمليات دمج روابط التطبيقات / الروابط العامة

  6. استبدِل "روابط Firebase الديناميكية" المنشورة أو المشترَكة بروابط التطبيقات وروابط Universal Links.

ستكون الخطوة الأولى مشتركة في كل من تدفقات نقل بيانات روابط التطبيقات أو الروابط العامة. تختلف الخطوات التالية حسب المنصة، لذا انتقِل إلى قسم الدليل أدناه حسب المنصة التي تريد نقل بياناتها أولاً.

اختيار نطاق

الخطوة الأولى هي اختيار نطاق تريد استخدامه لـ "روابط التطبيقات" / "الروابط الشاملة". سيكون هذا هو النطاق الذي سيتم استخدامه للروابط الجديدة التي ستشاركها مع المستخدمين.

في حال استخدام استضافة Firebase، يتمّ إعداد النطاقات الفرعية للمشروع بالتنسيق your-project-domain.web.app أو your-project-domain.firebaseapp.com تلقائيًا بدون أي تكلفة. يمكنك استخدام نطاق مخصّص اختياريًا مع استضافة Firebase أو بدونها لاستضافةملفّات إعدادات رابط التطبيق / الرابط الشامل أيضًا.

إعداد استضافة Firebase

بعد ذلك، عليك إعداد مثيل "استضافة Firebase" وضبط إعداداته.

عند الانتهاء من إعداد نسخة "استضافة Firebase"، سيكون لديك نطاق مشابه لنطاق your-project-domain.web.app، أو نطاق مخصّص إذا كنت تفضّل ذلك.

لاستخدام روابط التطبيقات، يجب استضافة ملفّ إعدادات يساعد في إنشاء ربط آمن بين النطاق المستخدَم في روابطك و تطبيقك. بالنسبة إلى روابط التطبيقات، يكون هذا الملفّ هو ملفّ assetlinks.json.

خطوات إنشاء ملف assetlinks.json واستضافته

يسمح لنا ملف assetlinks.json بتقديم قائمة بالتطبيقات المعتمدة التي يمكنها معالجة محتوى نطاق الويب الذي سنستخدمه لـ "روابط التطبيق" (App Links.) يجب استضافة ملف assetlinks.json نفسه في جذر نطاق الويب ضمن المسار: /.well-known.

اتّبِع الخطوات التالية لإكمال عملية الضبط هذه:

  1. أنشئ المجلد .well-known ضمن المجلد public في الدليل الجذري لـ Firebase Hosting.

  2. أنشئ ملفًا باسم assetlinks.json ضمن المجلد .well-known.

  3. انسخ المحتوى التالي إلى ملف 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 و ضبط تطبيقك لمعالجة روابط التطبيقات.

  4. عدِّل ملف firebase.json لفهرسة الملف لاستضافةه.

    "headers": [
      {
        "source": "/.well-known/assetlinks.json",
        "headers": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ]
      }
    ]
    
  5. والآن بعد أن أصبح لدينا ملف assetlinks.json، يمكنك تشغيل firebase deploy لاستضافة التغييرات.

    يُرجى العِلم أنّه يجب تثبيت واجهة برمجة تطبيقات Firebase لتشغيل أمر النشر أعلاه.

    firebase deploy --only hosting
    
  6. تحقَّق من ملف assetlinks.json بالانتقال إلى: https://your-project-domain.web.app/.well-known/assetlinks.json

في هذه الخطوة، ستعيد إنشاء الروابط لصفحات في التطبيق من "روابط 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 الديناميكية السابقة.

بعد اختيار نطاق واختيار مخطّط روابط لصفحات في التطبيق و نقل "روابط Firebase الديناميكية" إلى "روابط التطبيقات"، تكون الخطوة التالية هي تحديث تطبيق Android ورمز التطبيق لتلقّي الروابط الجديدة لصفحات في التطبيق.

ننصحك باتّباع مستندات روابط التطبيقات الكاملة هنا أو بدلاً من ذلك دليل "استوديو Android" لضبط تطبيقك لمعالجة الروابط لصفحات في التطبيق، ولكن تشمل الخطوات الرئيسية ما يلي:

  1. تحديد الأنشطة التي يجب أن تتعامل مع الروابط لصفحات معيّنة ذات صلة
  2. إضافة فلتر Intent لهذه الأنشطة في ملف AndroidManifest.xml
  3. تلقّي الرابط لصفحة في التطبيق في رمز تطبيق الأنشطة

لنفترض أنّك أردت استخدام 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 الديناميكي. اطّلِع على دليل تصدير البيانات الوصفية للروابط الديناميكية.

لاستخدام الروابط العامة، يجب استضافة ملف إعدادات يساعد في إنشاء ربط آمن بين النطاق المستخدَم في الروابط و تطبيقك. بالنسبة إلى الروابط العامة، يكون هذا الملف هو ملف apple-app-site-association (المعروف أيضًا باسم ملف AASA).

خطوات إنشاء ملف apple-app-site-association واستضافته

يسمح لنا ملف AASA بتقديم قائمة بالتطبيقات المعتمَدة التي يمكنها التعامل مع محتويات نطاق الويب الذي سنستخدمه للروابط العامة. يجب استضافة ملف AASA نفسه في جذر نطاق الويب ضمن المسار: /.well-known.

اتّبِع الخطوات أدناه لإكمال هذه الإعدادات:

  1. أنشئ المجلد ‎.well-known ضمن المجلد العام في الدليل الجذر لـ Firebase Hosting.

  2. أنشئ ملفًا باسم apple-app-site-association ضمن المجلد ".well-known".

  3. انسخ المحتوى التالي إلى ملف apple-app-site-association، مع الانتباه إلى معنى كل حقل أدناه:

    {
      "applinks": {
        "apps": [],
        "details": [
          {
            "appId": "$TEAM_ID.com.firebase.UniversalLinks",
            "paths": [
              "NOT /_/*",
              "/*"
            ]
          }
        ]
      }
    }
    
    • $TEAM_ID.BundleId: اسم التطبيق المؤهَّل بالكامل والمفوَّض له بمعالجة الروابط
  4. عدِّل ملف firebase.json لفهرسة الملف لاستضافته.

    "headers": [
      {
        "source": "/.well-known/apple-app-site-association",
        "headers": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ]
      }
    ]
    
  5. الآن بعد أن أصبح لدينا ملف AASA، يمكنك استخدام أداة "نشر Firebase" لاستضافة التغييرات.

  6. يمكنك إثبات صحة ملف AASA من خلال الانتقال إلى https://your-project-domain.web.app/.well-known/app-app-site-association.

في هذه الخطوة، ستعيد إنشاء الروابط لصفحات في التطبيق من "روابط 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 الديناميكية السابقة.

بعد اختيار نطاق واختيار مخطّط لإنشاء روابط لصفحات في التطبيق و نقل "روابط Firebase الديناميكية" إلى "الروابط العامة"، تكون الخطوة التالية هي تعديل تطبيق iOS ورمز التطبيق لتلقّي الروابط الجديدة لصفحات في التطبيق.

ننصحك باتّباع مستندات الروابط العامة الكاملة هنا لضبط تطبيقك لمعالجة الروابط لصفحات في التطبيق، ولكن تشمل الخطوات الرئيسية ما يلي:

  1. تعديل إعدادات مشروعك لتفعيل تطبيقك للتعامل مع روابط النهايات العميقة من نطاقك الذي تم إنشاؤه حديثًا

  2. تلقّي الرابط لصفحة في التطبيق في رمز تطبيقك

لتعديل إعدادات المشروع للسماح لتطبيقك بمعالجة الروابط المؤدية إلى صفحات في التطبيق، عليك إضافة نطاق مرتبط آخر إلى مشروعك في xCode للنطاق الذي تخطط الآن لاستخدامه لاستضافة ملف apple-app-site- linked إرشادي.

ويمكن تنفيذ ذلك من خلال:

  1. فتح Xcode
  2. اختيار مشروعك في أداة التنقّل في الملفات
  3. الانتقال إلى علامة التبويب "التوقيع والإمكانات" في إعدادات مشروعك
  4. انتقِل إلى قسم "النطاقات المرتبطة".
  5. بالنقر على الزر + لإضافة النطاق الإضافي إلى مشروعك بالتنسيق "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 الديناميكية". يُرجى الرجوع إلى مستند الأسئلة الشائعة حول إيقاف الروابط الديناميكية نهائيًا للاطّلاع على مزيد من المعلومات.