الأسئلة الشائعة وتحديد المشاكل وحلّها
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
تقدّم هذه الصفحة إجابات عن الأسئلة الشائعة حول
App Hosting.
App Hosting الأسئلة الشائعة
هل تتوافق App Hosting مع أُطر عمل أخرى غير Next.js وAngular؟
توفّر App Hosting إمكانية إعداد عمليات الإنشاء والنشر مسبقًا لكل من Next.js وAngular، حيث التزمنا بفهم هذه الأُطر وتفسير إعداداتها الأصلية. بالنسبة إلى عدد من
الأُطر الأخرى، يتيح منتدى المطوّرين استخدام App Hosting
محوّلات الأُطر. بالإضافة إلى ذلك، بالنسبة إلى أي تطبيق Node.js يتضمّن نصًا برمجيًا للإنشاء والبدء، ستحاول App Hosting إنشاء التطبيق، ولكن لا يمكنها ضمان نجاح العملية بشكل موثوق. اطّلِع على عملية الدمج مع إطار العمل.
ما هي المناطق التي تتوافق معها Firebase App Hosting؟
من المرجّح أن يتوسّع نطاق المناطق التي تتوفّر فيها App Hosting بمرور الوقت. يمكنك الاطّلاع على
مواقع App Hosting
للحصول على أحدث المعلومات.
هل يمكنني استخدام GitLab أو موفّري Git آخرين غير GitHub لعمليات النشر؟
لا يمكنك ذلك حاليًا، ولكن من المخطّط توفير دعم لمقدّمي خدمات آخرين في المستقبل البعيد ضمن App Hosting.
لماذا لا يمكنني العثور على مستودعي في واجهة مستخدم وحدة تحكّم Firebase؟
إذا لم يظهر المستودع في قائمة الخيارات عند إنشاء خلفية جديدة في وحدة تحكّم Firebase، جرِّب أولاً النقر على إعادة تحميل القائمة. إذا لم يكن المستودع المفضّل متاحًا، قد تحتاج إلى إضافته باستخدام الخيار منح إذن الوصول إلى مستودع جديد في GitHub.
بالإضافة إلى ذلك، يمكنك إدارة المستودعات باستخدام تطبيق GitHub.Firebase App Hosting لإجراء ذلك، انتقِل إلى ملفك الشخصي على GitHub، وانقر على الإعدادات ثم على التطبيقات. في صف تطبيق Firebase App Hosting ضمن الجدول، انقر على ضبط لإدارة المستودعات.
لماذا لا يتم عرض موقعي الإلكتروني بشكلٍ طبيعي في WebView لتطبيق Android للأجهزة الجوّالة؟
قد يلاحظ مطوّرو التطبيقات الذين أعدّوا نطاقًا مخصّصًا باستخدام وحدة تحكّم Firebase قبل الربع الثالث من عام 2025 أنّ الموقع الإلكتروني لا يظهر بشكل صحيح في WebView على Android. يحدث ذلك لأنّ سجلّات CNAME المستخدَمة خلال تلك الفترة لم تكن متوافقة مع Android WebView.
لحلّ هذه المشكلة، عليك إزالة النطاق المخصّص من الخلفية وإعادة إضافته.App Hosting ستوفّر واجهة المستخدم المعدَّلة لوحدة التحكّم 3 سجلّات جديدة، وهي سجلّ A وسجلّ TXT للنطاق، وسجلّ CNAME للنطاق الفرعي الخاص بتحدّي ACME (للحصول على الشهادات). استخدِم هذه السجلّات بدلاً من سجلّ CNAME السابق.
كيف يمكنني تغيير المستودع المرتبط بمشروع App Hosting؟
لا يمكن حاليًا تغيير المستودع. ومع ذلك، يمكنك إنشاء خلفية جديدة مرتبطة بالمستودع المفضّل ضمن المشروع نفسه، أو إنشاء خلفية جديدة في مشروع منفصل.
كيف يمكنني ضبط العناوين لموقعي الإلكتروني App Hosting؟
تعتمد العناوين على إطار العمل. اتّبِع الخطوات المعتادة في إطار العمل.
هل تتوفّر محاكي للتطوير على الجهاز باستخدام App Hosting؟
نعم، يمكنك إجراء اختبارات محلية لتطبيقك قبل نشره باستخدام App Hosting
المحاكي App Hosting، وهو جزء من "مجموعة أدوات المحاكاة المحلية" في Firebase. اطّلِع على اختبار نشر تطبيقك محليًا .
لماذا تظهر لي أخطاء في App Hosting ولكن ليس في Cloud Build؟
في مثل هذه الحالات، من المحتمل أن يكون الخطأ ناتجًا عن Cloud Run.
يمكنك الاطّلاع على حالة الطرح للتأكّد.
كيف يمكنني تغيير حساب GitHub المرتبط أو إزالته؟
لإزالة حساب GitHub المرتبط، افتح ربط حساب المطوّر، وتأكَّد من اختيار مشروعك، ثم احذف عملية الربط firebase-app-hosting-github-oath وعملية الربط التي تبدأ بـ apphosting-github-conn-. عند فتح App Hosting في وحدة تحكّم Firebase، من المفترض أن تتمكّن الآن من إعداد اتصال جديد بحساب GitHub.
كيف يمكنني ضبط ملفات تعريف الارتباط لموقعي الإلكتروني App Hosting؟
على الرغم من أنّ عنوان استجابة HTTP Set-Cookie لم يكن متاحًا عند إطلاق معاينة App Hosting، أصبح يعمل الآن على النحو المتوقّع.
القيود العامة App Hosting وتحديد المشاكل وحلّها
يمكن أن تتضمّن شبكة توصيل المحتوى (CDN) الخاصة بـ App Hosting مجموعة محدّدة فقط من عناوين الطلبات في مفاتيح ذاكرة التخزين المؤقت. تتضمّن هذه القائمة عناوين RSC وNext-Router-State-Tree وNext-Router-Prefetch وNext-Router-Segment-Prefetch وNext-Url من NextJS، بالإضافة إلى العناوين العادية Accept وAccept-Encoding وAccess-Control-Request-Headers وAccess-Control-Request-Method وOrigin وSec-Fetch-Dest وSec-Fetch-Mode وSec-Fetch-Site وX-Goog-Allowed-Resources وX-Origin من Cloud CDN. إذا كانت الاستجابة تتضمّن عنوان Vary
بقيمة غير مُدرَجة هنا، لن تخزِّن شبكة توصيل المحتوى (CDN) هذه الاستجابة مؤقتًا.
يتم عرض الملفات الثابتة غير المخزَّنة مؤقتًا من Cloud Run، وسيتم تخزينها وعرضها من المصدر App Hosting في إصدار لاحق لتحسين الأداء.
قد تعرض وحدة تحكّم Firebase بشكل متقطّع رسالة الخطأ "لم يتم العثور على الإصدار وهو غير صالح" عند إنشاء الخلفية.
تتشارك جميع الخلفيات في المشروع نفسه مؤسسة/حساب GitHub.
ويمكن ربطها بمستودعات مختلفة ضمن تلك المؤسسة أو الحساب.
لإنشاء أنظمة خلفية مرتبطة بحسابات مختلفة على GitHub، ضَعها في مشاريع منفصلة.
القيود المفروضة على تطبيقات Angular وتحديد المشاكل وحلّها
على الرغم من أنّ ميزة App Hosting المتوافقة مع Angular قيد التطوير والتوسيع حاليًا، فإنّها تتضمّن القيود التالية:
التدويل (I18n): على الرغم من أنّ وظائف التدويل الأساسية تعمل، قد يؤدي الانتقال المباشر إلى صفحات SSR إلى حدوث أخطاء.
تحديد الموقع الجغرافي: لا تتوفّر إمكانية إنشاء إصدارات لمواقع جغرافية مختلفة.
أدوات الإنشاء: لا تتوفّر حاليًا سوى أداة إنشاء التطبيقات.
البيئات وأدوات Monorepo: ستتعذّر مشاريع Angular التي تستهدف أكثر من تطبيق واحد. للحصول على دعم أكثر اكتمالاً للمستودعات الأحادية، استخدِم Nx.
تتم عملية فك ترميز مسارات عناوين URL التي تحتوي على أحرف مرمّزة بنسبة مئوية من خلال
Cloud Run. قد يؤدي ذلك إلى حدوث مشاكل في الميزات التي تتوقّع مسارات عناوين URL مشفّرة فقط، مثل ميزة "التوجيه المتوازي" في Next.js.
في الوقت الحالي، تفرض App Hosting قيودًا على التخزين المؤقت لتطبيقات NextJS التي تستخدم البرامج الوسيطة.
بمرور الوقت، من المفترض أن تتحسّن معدّلات الوصول إلى البيانات المخزّنة مؤقتًا.
يفكّ Cloud Run ترميز مسارات عناوين URL التي تحتوي على أحرف مرمَّزة بنسبة مئوية.
قد يؤدي ذلك إلى حدوث مشاكل في الميزات التي تتوقّع مسارات عناوين URL مرمّزة فقط، مثل
التوجيه المتوازي في Next.js
تاريخ التعديل الأخير: 2025-11-21 (حسب التوقيت العالمي المتفَّق عليه)
[[["يسهُل فهم المحتوى.","easyToUnderstand","thumb-up"],["ساعَدني المحتوى في حلّ مشكلتي.","solvedMyProblem","thumb-up"],["غير ذلك","otherUp","thumb-up"]],[["لا يحتوي على المعلومات التي أحتاج إليها.","missingTheInformationINeed","thumb-down"],["الخطوات معقدة للغاية / كثيرة جدًا.","tooComplicatedTooManySteps","thumb-down"],["المحتوى قديم.","outOfDate","thumb-down"],["ثمة مشكلة في الترجمة.","translationIssue","thumb-down"],["مشكلة في العيّنات / التعليمات البرمجية","samplesCodeIssue","thumb-down"],["غير ذلك","otherDown","thumb-down"]],["تاريخ التعديل الأخير: 2025-11-21 (حسب التوقيت العالمي المتفَّق عليه)"],[],[]]