يمكنك التحكّم بشكل أكبر في العلامة التجارية لـ 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
يُطلق على جزء عنوان URL الذي يسبق link-suffix اسم بادئة عنوان URL، ويتضمّن كلاً من نطاق Dynamic Link المخصّص وبادئة مسار. عليك تقديم بادئة عنوان URL عند إنشاء Dynamic Links.
يتطلّب إعداد نطاق مخصّص إذن "محرِّر" أو "مالك" في مشروعك على Firebase.
استخدام نطاق الويب لـ Dynamic Links
يمكنك استخدام النطاق نفسه لـ Dynamic Links وصفحات الويب والروابط العامة وروابط التطبيقات، ولكن إذا فعلت ذلك، عليك التأكّد من عدم تعارض عناوين 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. لإجراء ذلك:
إذا لم يسبق لك إعداد Firebase Hosting لمشروعك، افتح صفحة Hosting في وحدة تحكّم Firebase، وانقر على البدء، ثم اتّبِع تعليمات الإعداد. ليس عليك إكمال الخطوات المحدّدة في هذا الوقت.
افتح صفحة Dynamic Links في وحدة تحكّم Firebase.
إذا لم يسبق لك استخدام Dynamic Links، انقر على البدء. بخلاف ذلك، انقر على إضافة بادئة عنوان URL من القائمة المنسدلة.
بعد ذلك، أكمِل معالج الإعداد، وحدِّد النطاق وبادئة المسار اللذين تريد استخدامهما عند المطالبة بذلك.
.أجهزة 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، عليك إعداد نطاقك المخصّص يدويًا.
لإجراء ذلك:
اربط نطاقك بـ Firebase Hosting إذا لم يسبق لك إجراء ذلك.
يتضمّن إعداد نطاقك باستخدام Firebase Hosting إنشاء ملف الإعداد
firebase.jsonفي دليل مشروعك المحلي.يمكنك التحديث إلى أحدث إصدار من Firebase CLI (الإصدار 6.5.0 أو إصدار أحدث).
اضبط موقع 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
انشر تغييرات إعدادات Hosting
firebase deploy --only hosting
(اختياري) يمكنك التحقّق من محتوى
firebase.jsonالذي تم نشره باستخدام الـ Hosting REST API.أجهزة 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 للقاعدة المحدّدة من خلال أول نمط glob لـ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 } ]