إعداد نطاق خاص للروابط الديناميكية

يمكنك التحكم بشكل أكبر في Dynamic Links بعلامتك التجارية باستخدام نطاق بدلاً من نطاق فرعي واحد (page.link). باستخدام النطاقات الخاصة، يمكنك إنشاء Dynamic Links أعجبه المثالان التاليان:

https://example.com/link-suffix
https://example.com/links/promos/link-suffix
https://links.example.com/link-suffix
https://ex.amp.le/link-suffix

الجزء الذي يقع قبل link-suffix هو بادئة عنوان URL، ويحتوي على نطاق Dynamic Link مخصّص وبادئة مسار. عليك إجراء ما يلي: يجب توفير بادئة عنوان URL عند إنشاء Dynamic Links.

يتطلب إعداد نطاق خاص إذن "المحرِّر" أو "المالك" في Firebase. مشروعك.

استخدام نطاق الويب في Dynamic Links

يمكنك استخدام النطاق نفسه لـ Dynamic Links وصفحات الويب الخاصة بك على Universal وروابط التطبيقات، ولكن في حال إجراء ذلك، عليك التأكّد من أنّ عناوين URL التي تستخدمها Dynamic Link متوفّرة. لا تتعارض مع عناوين URL على الويب. عند ضبط Dynamic Links لاستخدام بادئة عنوان URL محددة، يتم التعامل مع جميع عناوين URL التي تبدأ بهذه البادئة Dynamic Links، لذلك لا يمكنك استخدام عناوين URL بهذه البادئة للإشارة إلى المواقع الإلكترونية المستضافة العادية. المحتوى.

على سبيل المثال، إذا أردت إنشاء Dynamic Link للمورد https://example.com/my-resource (صفحة ويب أو رابط عام أو رابط تطبيق)، لا يمكن استخدام https://example.com/ كبادئة عنوان URL Dynamic Links، لأن ذلك سيؤدي إلى التعامل مع https://example.com/my-resource على أنه Dynamic Link. وبدلاً من ذلك، عليك استخدام بادئة عنوان URL بنطاق مختلف أو بادئة المسار.

ولذلك، لن يعمل النموذج الطويل التالي Dynamic Links (والروابط القصيرة المكافئة) التالية لأن عناوين URL المحددة بواسطة المعلمة link تبدأ بـ بادئة عنوان URL Dynamic Link، https://example.com/:

 https://example.com/?link=https://example.com/my-resource
 https://example.com/?link=https://example.com/resources/my-resource

في المقابل، يمكن استخدام تنسيق Dynamic Links الطويل (والروابط القصيرة المشابهة) التالية، لأنّ بادئات عناوين URL لا تتعارض مع عناوين URL الخاصة بـ link:

 https://link.example.com/?link=https://example.com/my-resource
 https://example.com/links/?link=https://example.com/my-resource
 https://ex.amp.le/?link=https://example.com/my-resource

إعداد نطاق خاص في وحدة تحكُّم Firebase

يمكنك عادةً إعداد نطاق خاص بالكامل في وحدة تحكُّم Firebase. إلى عليك إجراء ذلك:

  1. في حال عدم إعداد Firebase Hosting لمشروعك، افتح صفحة واحدة (Hosting) من وحدة التحكم Firebase، انقر على البدء، والنقر على تعليمات الإعداد. ليس عليك لإكمال الخطوات المشار إليها في هذا الوقت.

  2. افتح صفحة Dynamic Links في وحدة تحكّم Firebase.

  3. في حال لم يسبق لك استخدام Dynamic Links، انقر على البدء. أو انقر على أضِف بادئة عنوان URL من القائمة المنسدلة.

    بعد ذلك، أكمل معالج الإعداد، مع تحديد بادئة النطاق والمسار التي نريد استخدامها عندما يُطلب منك ذلك.

  4. iOS فقط: في ملف Info.plist لمشروع Xcode، أنشئ مفتاحًا باسم FirebaseDynamicLinksCustomDomains وضبطه على عنوان URL Dynamic Links في تطبيقك والبادئات. على سبيل المثال:

    <key>FirebaseDynamicLinksCustomDomains</key>
    <array>
      <string>https://example.com/link</string>
      <string>https://example.com/promos</string>
    </array>
    

إعداد نطاق خاص يدويًا

في بعض الحالات، مثل عند إعداد نطاق خاص بالفعل Dynamic Links وتريد إضافة نطاق آخر، أو عند إضافة نطاق من قبل مرتبطًا بموقع إلكتروني على Hosting، يجب إعداد نطاقك الخاص يدويًا.

لإجراء ذلك:

  1. ربط نطاقك بخدمة Firebase Hosting إذا لم تكن قد قمت بذلك بالفعل.

    يتضمّن إعداد نطاقك في Firebase Hosting إنشاء ملف الإعداد firebase.json في دليل مشروعك المحلي.

  2. التحديث إلى آخر إصدار من واجهة سطر الأوامر Firebase (الإصدار 6.5.0 أو إصدار أحدث).

  3. إعداد موقع Hosting الإلكتروني لـ "Dynamic Links" في حساب مشروعك ملف firebase.json. إذا كان مشروعك يتضمن مواقع متعددة، فاحرص على عليك إعداد الموقع الإلكتروني المرتبط بالنطاق الذي تريد استخدامه.

    • اضبط السمة appAssociation على AUTO. باستخدام هذا الإعداد، Hosting يؤدي إلى إنشاء assetlinks.json وapple-app-site-association ديناميكيًا الملفات عند طلبها.

    • حدِّد بادئات المسار التي تريد استخدامها في Dynamic Links من خلال ضبط إعدادات إعادة الكتابة. قواعد مع ضبط dynamicLinks على true. تحصل الطلبات إلى هذه المسارات على تم إنشاء وكيل مع Dynamic Links.

      على عكس القواعد التي تعيد كتابة المسارات إلى عناوين URL، لا يمكن لقواعد إعادة كتابة Dynamic Link أن تحتوي على تعبيرات عادية.

      إذا كانت لديك قواعد متعددة لإعادة كتابة موقعك الإلكتروني، عليك الانتباه إلى تنفِّذ Hosting قاعدة إعادة الكتابة الأولى التي تتطابق مع الطلب.

    على سبيل المثال:

    "hosting": {
      // ...
      "appAssociation": "AUTO",
      "rewrites": [
        {
          "source": "/promos/**",
          "dynamicLinks": true
        },
        {
          "source": "/links/share/**",
          "dynamicLinks": true
        }
      ]
    }
    

    باستخدام الإعدادات أعلاه، يمكنك إنشاء Dynamic Links باستخدام بادئات عناوين URL، مثل في ما يلي الأمثلة التالية:

    https://your-domain/promos/link-suffix
    https://your-domain/links/share/link-suffix
    

    إذا كنت تستخدم هذا النطاق مع Dynamic Links فقط، يمكنك استخدام مسار المصدر /**. لإنشاء Dynamic Links بدون بادئة مسار:

    {
      "source": "/**",
      "dynamicLinks": true
    }
    

    باستخدام القاعدة أعلاه، يمكنك إنشاء Dynamic Links مثل المثال التالي:

    https://your-domain/link-suffix

  4. انشر تغييرات إعدادات Hosting:

    firebase deploy --only hosting

    (اختياري) يمكنك التحقّق من محتوى firebase.json الذي تم نشره باستخدام Hosting REST API.

  5. iOS فقط: في ملف Info.plist لمشروع Xcode، أنشئ مفتاحًا باسم FirebaseDynamicLinksCustomDomains وضبطه على عنوان URL Dynamic Links في تطبيقك والبادئات. على سبيل المثال:

    <key>FirebaseDynamicLinksCustomDomains</key>
    <array>
      <string>https://example.com/promos</string>
      <string>https://example.com/links/share</string>
    </array>
    

الترتيب حسب الأولوية لـ Dynamic Links وHosting

بالنسبة إلى Dynamic Links، يجب أن تكون على دراية استضافة ترتيب الأولوية.

  • تأكَّد من أنّ بادئة عنوان URL للسمة Dynamic Links لا تتعارض مع أولوية أعلى. (مثلاً، المحتوى الثابت المستضاف يكون له الأولوية دائمًا) بدلاً من إعادة الكتابة).
  • ضمن السمة rewrites، ستخضع استجابة Hosting للقاعدة. المحدد بواسطة أول source كروية يلتقط المسار المطلوب.

على سبيل المثال، في حال إعداد Dynamic Link لـ your-domain/source-path/link-suffix ولكن لديك أيضًا محتوى ثابت في your-domain/source-path/index.html، للمحتوى الثابت الأولوية. سيظهر للمستخدم index.html بدلاً من Dynamic Link. وبالمثل، إذا كان لديك محتوى ثابت في your-domain/source-path/link-suffix, سيتمكّن المستخدم النهائي من رؤية المحتوى الثابت بدلاً من Dynamic Link.

إذا أردت استخدام الهوية البصرية نفسها للعلامة التجارية Dynamic Links وHosting، ننصحك أحد الخيارات التالية لبادئة عنوان URL للسمة Dynamic Links:

  • اضبط السمة source لمطابقة بادئة مسار. على سبيل المثال، إذا كان لديك الخاص بـ example.com، يمكن أن تكون قاعدة الإعادة الكتابة على النحو التالي:

    // Domain is example.com
    "rewrites": [ {
      "source": "/links/**",  // Dynamic Links start with "https://example.com/links/"
      "dynamicLinks": true
    } ]
    
  • يجب إعداد نطاق فرعي لاستخدامه في Dynamic Links، ثم ضبط السمة source على. مطابقة هذا النطاق الفرعي. على سبيل المثال، إذا كان لديك نطاق فرعي من links.example.com، يمكن أن تكون قاعدة إعادة الكتابة على النحو التالي:

    // Domain is links.example.com
    "rewrites": [ {
      "source": "/**",  // Dynamic Links start with "https://links.example.com/"
      "dynamicLinks": true
    } ]