Catch up on everything we announced at this year's Firebase Summit. Learn more

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

هل يمكن أن يكون سيطرة أكبر على الإعلانات الديناميكية على شبكة سريعة "العلامات التجارية باستخدام اسم النطاق الخاص بك بدلا من page.link فرعي. باستخدام المجالات المخصصة ، يمكنك إنشاء روابط ديناميكية مثل الأمثلة التالية:

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

من جانب URL قبل link-suffix يسمى بادئة URL، ويحتوي على كل عهدك نطاق الارتباط الحيوي وبادئة المسار. ستحتاج إلى توفير بادئة عنوان URL عند إنشاء روابط ديناميكية.

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

استخدام مجال الويب الخاص بك للروابط الديناميكية

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

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

لذا، فإن ما يلي طويلة شكل ديناميكي سريعة (وصلات قصيرة ما يعادلها) لا تعمل على النحو المنشود لعناوين المواقع المحددة من قبل link بداية المعلمة مع البادئة الارتباط الحيوي URL، https://example.com/ :

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

ولكن ما يلي طويلة شكل ديناميكي سريعة (وصلات قصيرة ما يعادلها) يمكن أن تنجح، لأن البادئات 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 استضافة للمشروع الخاص بك، افتح صفحة استضافة من وحدة التحكم Firebase، انقر فوق الشروع، وانقر من خلال تعليمات الإعداد. ليس عليك إكمال الخطوات المشار إليها في هذا الوقت.

  2. فتح الصفحة الديناميكية سريعة من وحدة التحكم Firebase.

  3. إذا كنت لم تستخدم الحيوي سريعة قبل، انقر فوق إبدأ. خلاف ذلك، انقر فوق إضافة URL بادئة من القائمة المنسدلة.

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

  4. دائرة الرقابة الداخلية فقط: في مشروع Xcode في Info.plist الملف، إنشاء مفتاح يسمى FirebaseDynamicLinksCustomDomains وتعيينه إلى البادئات دينامية سريعة URL التطبيق الخاص بك. على سبيل المثال:

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

قم بإعداد مجال مخصص يدويًا

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

لنفعل ذلك:

  1. ربط نطاقك إلى Firebase استضافة إذا لم تكن قد فعلت ذلك.

    إعداد النطاق الخاص بك مع Firebase استضافة يشمل إنشاء ملف التكوين firebase.json في دليل المشروع المحلي.

  2. تحديث إلى الإصدار الأحدث من Firebase CLI (v6.5.0 أو في وقت لاحق).

  3. تكوين موقع استضافة للحصول على دينامية سريعة في مشروعك firebase.json الملف. إذا كان مشروعك يحتوي على عدة مواقع ، فتأكد من تكوين الموقع المتصل بالمجال الذي تريد استخدامه.

    • مجموعة appAssociation إلى AUTO . مع هذا الإعداد، استضافة حيوي يولد assetlinks.json و apple-app-site-association الملفات عند طلبها.

    • تحديد البادئات المسار الذي تريد استخدامه لديناميكية سريعة من خلال وضع قواعد إعادة الكتابة مع dynamicLinks المقرر أن true . يتم ربط الطلبات إلى هذه المسارات بالوكيل للروابط الديناميكية.

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

      إذا كانت لديك قواعد إعادة كتابة متعددة لموقعك ، فكن على دراية بأن الاستضافة تنفذ أول قاعدة إعادة كتابة تتطابق مع الطلب.

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

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

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

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

    إذا كنت تستخدم هذا المجال فقط لدينامية سريعة، يمكنك استخدام مسار مصدر /** لخلق دينامية سريعة مع بدون اختصار الطريق:

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

    مع أحكام الفقرة أعلاه، يمكنك إنشاء دينامية سريعة كما في المثال التالي:

    https://your-domain/link-suffix

  4. نشر تغييرات التكوين استضافة الخاص بك:

    firebase deploy --only hosting

    (اختياري) يمكنك التحقق من نشر firebase.json المحتوى باستخدام API REST استضافة .

  5. دائرة الرقابة الداخلية فقط: في مشروع Xcode في Info.plist الملف، إنشاء مفتاح يسمى FirebaseDynamicLinksCustomDomains وتعيينه إلى البادئات دينامية سريعة URL التطبيق الخاص بك. على سبيل المثال:

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

ترتيب الأولوية للروابط الديناميكية والاستضافة

لدينامية سريعة، تكون على علم ولا سيما من استضافة ترتيب الأولويات .

  • تأكد من أن بادئة عنوان URL للارتباطات الديناميكية لا تتعارض مع تكوينات الاستضافة ذات الأولوية الأعلى (على سبيل المثال ، المحتوى الثابت المستضاف له الأولوية دائمًا على عمليات إعادة الكتابة).
  • ضمن rewrites السمة، واستجابة استضافة والانصياع لحكم يحددها أول source غلوب الذي يلتقط المسار المطلوب.

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

إذا كنت تريد استخدام نفس العلامة التجارية لكل من الروابط الديناميكية والاستضافة ، ففكر في أحد الخيارات التالية لبادئة عنوان URL للروابط الديناميكية:

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

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

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