توفر هذه الصفحة تعليمات حول استكشاف الأخطاء وإصلاحها وإجابات للأسئلة المتداولة حول توزيع التطبيقات واختبارها باستخدام توزيع التطبيقات.
توزيع التطبيقات
استخدم النصائح التالية لاستكشاف المشكلات التي قد تواجهها عند توزيع التطبيقات على المختبرين وإصلاحها.
عند تحميل تطبيق ما، قد تواجه هذا الخطأ:
"لم نتمكن من العثور على بريد إلكتروني للاتصال بالتطبيق <app-id>
. يرجى زيارة App Distribution ضمن وحدة تحكم Firebase لإعداد واحد."
قم بتعيين بريد إلكتروني لجهة الاتصال في وحدة تحكم Firebase، إذا كان ذلك متاحًا. إذا استمرت المشكلة، فاتصل بدعم Firebase .
إذا واجهت الأخطاء 400 أو 409 أو 500 بشكل متكرر أثناء التزويد، فاتصل بدعم Firebase . قم بتقديم الدعم باستخدام رقم مشروع Firebase ومعرف التطبيق.
التحقق من حجم ملف APK. الحد الأقصى لحجم الملف لجميع الثنائيات هو 2048 ميجابايت، وهو ما يزيد قليلاً عن 2 جيجابايت.
إذا كان حجم APK ضمن الحد الأقصى لحجم الملف وقابلاً للتكرار، فاتصل بدعم Firebase .
تحقق من توقيع APK باستخدام ما يلي:
apksigner verify --verbose ~/app-distro/app-distro-apps/[path_name]/app/ build/outputs/apk/debug/app-debug.apk
توزيع حزم تطبيقات Android (AABs)
عند تحميل AAB إلى App Distribution، يقوم Google Play تلقائيًا بإلغاء ملف APK الذي تم إنشاؤه باستخدام شهادة مفتاح توقيع التطبيق الاختباري. عندما يُطلب منك ذلك، يجب عليك تسجيل تطبيقك لدى موفري واجهة برمجة التطبيقات (API) إذا كنت تريد الاستمرار في استخدام خدمات الطرف الثالث الخاصة بهم. بمجرد التوقيع، يمكن عرض شهادة اختبار تطبيقك في وحدة تحكم Firebase.
لا تظهر إصدارات AAB التي تقوم بتحميلها إلى App Distribution في حساب مطور Google Play الخاص بك (وهذا يشمل App Bundle Explorer ومشاركة التطبيقات الداخلية).
إذا تم إلغاء ربط تطبيق Firebase Android بـ Google Play، فسيحدث ما يلي:
لن تتمكن من تحميل حزم التطبيقات الجديدة إلى App Distribution وتصديرها إلى Google Play عبر تكامل App Distribution مع Google Play.
ستظل الإصدارات الحالية متاحة في لوحة معلومات توزيع تطبيقات Firebase وللمختبرين لديك.
ستظل أي بيانات تم تصديرها سابقًا بين Firebase وGoogle Play قابلة للوصول في كلا المنتجين.
لتوزيع حزمة تطبيقات Android (AAB) من خلال App Distribution وربط حزم AAB التي تم تحميلها تلقائيًا بكل من مشروع Firebase وحساب مطور Google Play، تأكد من استيفاء المتطلبات التالية:
يتمتع حساب مطور Google Play الخاص بك بأحد مستويات الوصول التالية: المالك أو المشرف.
بالنسبة لمشروع Firebase، لديك أحد الأدوار التالية: المالك أو مسؤول Firebase .
تم تسجيل تطبيقك في Firebase وحساب مطور Google Play الخاص بك. وهذا يعني أن لديك تطبيق Firebase Android وتطبيق Google Play.
يتم تسجيل كل من التطبيق في Google Play وتطبيق Firebase Android باستخدام نفس اسم الحزمة.
يتم إعداد التطبيق في Google Play على لوحة معلومات التطبيق ويتم توزيعه على أحد مسارات Google Play (الاختبار الداخلي، أو الاختبار المغلق، أو الاختبار المفتوح، أو الإنتاج).
اكتملت مراجعة التطبيق في Google Play وتم نشر التطبيق. يتم نشر تطبيقك إذا كان عمود حالة التطبيق يعرض إحدى الحالات التالية: الاختبار الداخلي (وليس اختبار مسودة داخلي)، أو الاختبار المغلق، أو الاختبار المفتوح، أو الإنتاج.
إذا قمت بتحميل تطبيق لم يكن يفي في السابق بالمعايير المذكورة أعلاه للربط، ولكنه أصبح كذلك الآن، فيمكنك إعادة محاولة ربط تطبيق Firebase Android بـ Google Play .
تثبيت واختبار التطبيقات
استخدم النصائح التالية لاستكشاف المشكلات التي قد يواجهها المختبرون وإصلاحها عند تثبيت تطبيقاتك واختبارها.
عندما يقوم المستخدم بإنشاء حساب Google، فإنه يتلقى تلقائيًا عنوان Gmail.
إذا لم يكن لدى المختبر عنوان Google Workspace أو Gmail، أو إذا كان يفضل استخدام عنوان بريد إلكتروني آخر لتسجيل الدخول، فاطلب من المختبر ربط عنوان بريد إلكتروني غير Gmail بالحساب واستخدام هذا البريد الإلكتروني لتسجيل الدخول.
عند اختيار بريد إلكتروني بديل، يجب على المختبر اتباع الإرشادات التالية:
- لا تستخدم عنوان Gmail.
- لا تستخدم عنوان بريد إلكتروني مرتبط بالفعل بحساب Google آخر.
- تذكر استخدام كلمة مرور حساب Google الخاص بك عند تسجيل الدخول باستخدام عنوان البريد الإلكتروني هذا.
لمزيد من المعلومات، راجع تسجيل الدخول إلى حساب Google الخاص بك باستخدام عنوان بريد إلكتروني آخر .
إذا قبل المختبر دعوة البريد الإلكتروني بعنوان بريد إلكتروني مختلف عن الذي تم إرسال الدعوة إليه، فقد لا يتمكن المختبر من رؤية التطبيقات أو الإصدارات الصحيحة.
يمكن أن يختلف البريد الإلكتروني الذي يرسل المطور الدعوات إليه ويضيفه إلى الإصدارات الجديدة (البريد الإلكتروني أ) عن البريد الإلكتروني الذي يستخدمه المختبر لقبول الدعوة (البريد الإلكتروني ب). يؤدي هذا إلى إنشاء رابط خلف الكواليس. عندما تتم إضافة البريد الإلكتروني "أ" إلى الإصدارات الجديدة، فإن البريد الإلكتروني "ب" هو في الواقع من يمكنه الوصول.
إذا قبل المختبر دعوة البريد الإلكتروني باستخدام عنوان بريد إلكتروني مختلف، فاتبع الخطوات التالية لحل المشكلة:
احذف المُختبر من قسم عرض جميع المختبرين في علامة تبويب المختبرين والمجموعات في صفحة توزيع التطبيقات بوحدة تحكم Firebase. تتم إزالة الدعوات الموجودة.
أعد دعوة المختبر لاختبار تطبيقك. يجب أن يتلقى المختبر رسالة دعوة عبر البريد الإلكتروني.
تأكد من أن المختبر يقبل الدعوة بنفس عنوان البريد الإلكتروني.
قد لا يتلقى المختبرون إشعارات البريد الإلكتروني في حالة حدوث أي مما يلي:
يتم إرسال إشعارات البريد الإلكتروني إلى مجلدات البريد العشوائي.
تم تعيين عوامل تصفية البريد الإلكتروني.
تم إرسال الدعوة إلى حساب بريد إلكتروني واحد، لكن المختبر قبلها باستخدام حساب بريد إلكتروني مختلف. يتلقى المختبر رسائل البريد الإلكتروني الخاصة بالإصدار الجديد لحساب البريد الإلكتروني الذي تم إرسال الدعوة إليه في الأصل.
تمت دعوة المختبر مسبقًا ولكنه لم يقبل الدعوة الأولية. إذا تمت إضافة المختبر إلى الإصدارات اللاحقة، فلن يرسل App Distribution تلقائيًا إشعارات الإصدار إلى ذلك المختبر لأن المختبر لم يقبل الدعوة الأولية.
الحل 1
اطلب من المختبر التحقق من مجلد الرسائل غير المرغوب فيها وأي عوامل تصفية للبريد الإلكتروني قام بتعيينها في خدمة البريد الإلكتروني الخاصة به.
إذا قام المختبر بإلغاء الاشتراك في رسائل البريد الإلكتروني، فاطلب من المختبر القيام بما يلي:
- ابحث عن رسالة بريد إلكتروني تلقاها المختبر مسبقًا من التطبيق.
- انقر فوق إدارة إعدادات البريد الإلكتروني في الأسفل وانقر فوق السماح لرسائل البريد الإلكتروني بإعادة الاشتراك.
الحل 2
إذا كان المختبر لا يريد إشعارات البريد الإلكتروني ولكنه يريد أن يكون قادرًا على قبول دعوات التطبيقات، فيمكنه عرض دعوات التطبيقات المعلقة مباشرةً في تطبيق اختبار التطبيقات ( تعليمات التنزيل ).
الحل 3
احذف المُختبر من قسم عرض جميع المختبرين في علامة تبويب المختبرين والمجموعات في صفحة توزيع التطبيقات في وحدة تحكم Firebase. يؤدي هذا الإجراء إلى إزالة الدعوات الموجودة.
أعد دعوة المختبر لاختبار تطبيقك. يجب أن يتلقى المختبر رسالة دعوة عبر البريد الإلكتروني. تأكد من أن المختبر يقبل الدعوة بنفس عنوان البريد الإلكتروني الذي تم إرسال الدعوة إليه.
إذا قام أحد المختبرين بتنزيل إصدار وتثبيته ولكن واجهة مستخدم تفاصيل التطبيق لا تُظهر أن التطبيق مثبت، فهذه مشكلة معروفة. في بعض الحالات، لا يتطابق معرف الحزمة في تطبيق Firebase مع معرف الحزمة لـ APK.
تأكد من أن معرف الحزمة لـ APK يطابق معرف الحزمة لتطبيق Firebase الذي استخدمته لتحميل التوزيع.
يظهر تنبيه Android إذا لم يتم منح التطبيق أو المتصفح قيد التشغيل إذنًا لتثبيت التطبيقات خارج Google Play. لمنح الإذن:
الإصدار 8 من نظام التشغيل Android أو الإصدارات الأحدث : في تطبيق الإعدادات ، انقر فوق السماح من هذا المصدر .
الإصدار 7 من نظام التشغيل Android أو الإصدارات الأقدم : في تطبيق الإعدادات ، انقر فوق الأمان وحدد مصادر غير معروفة . عندما تظهر المطالبة، انقر فوق موافق > الثقة .
إذا فشل تثبيت APK الاختباري على جهاز المختبر:
- تأكد من أن الشهادة (الشهادات) الموجودة في الإصدار الجديد تتطابق مع تلك الموجودة في الإصدار المثبت على جهاز المختبر. يسمح نظام Android بتحديث التطبيق فقط في حالة تطابق الشهادات. لمعرفة المزيد، راجع اعتبارات التوقيع .
- تأكد من أن إصدار نظام التشغيل لجهاز الاختبار مدعوم من التطبيق (تحقق من
minSdkVersion
).
إذا منعك تطبيق اختبار التطبيقات من تسجيل الدخول وأعاد توجيهك مرة أخرى إلى شاشة تسجيل الدخول، فمن المحتمل أنك تستخدم Google Workspace (GSuite سابقًا) الذي يتضمن إعدادات التقييد.
لإزالة إعدادات التقييد الخاصة بك:
في علامة تبويب التطبيقات في Google Workspace، تأكد من عدم تعيين Firebase App Distribution على الوصول: محظور .
في علامة التبويب "الخدمات" ، تأكد من أن Cloud Platform غير مقيد.
بمجرد إزالة الإعدادات، حاول تسجيل الدخول مرة أخرى.
يمكن أن يحدث هذا الخطأ عندما يتعارض التطبيق الذي يتم تثبيته مع تطبيق مثبت بالفعل على الجهاز. على سبيل المثال، يمكن أن يكون إصدارًا مختلفًا لنفس التطبيق بنفس الإذن المخصص أو اسم ContentProvider .
يمكنك أن تطلب من المُختبر جمع تقرير بالأخطاء فورًا بعد مواجهة المشكلة، وفحص التقرير للحصول على مزيد من المعلومات حول السبب. يجب على المُختبر حذف أي تطبيقات متضاربة قبل أن يتم تثبيت التطبيق الجديد.
عندما تواجه خطأ 403، فهذا يعني أن الحساب الذي تستخدمه ليس لديه إذن لتثبيت التطبيقات واختبارها. يتم تحديد الوصول بواسطة مشرف نطاق حسابك في Google Workspace.
إذا كنت تعتقد أنه يجب أن يكون لديك إذن لتثبيت التطبيقات واختبارها، فاطلب من مشرف حساب Google Workspace تغيير إعدادات حسابك. يجب أن يتبع المسؤول الإرشادات الموجودة في إدارة الوصول إلى الخدمات التي لا يتم التحكم فيها بشكل فردي .
إذا كان لديك حسابات متعددة، فحاول تسجيل الدخول باستخدام حساب مختلف لا يقتصر على تثبيت التطبيقات واختبارها.
إذا كنت مختبرًا لأول مرة، فراجع الإعداد كمختبِر .
إذا كنت أحد مختبري توزيع التطبيقات الحاليين وحصلت على جهاز Android جديد للاختبار عليه، فبدلاً من إجراء عملية الاختبار الجديدة بالكامل مرة أخرى، اتبع الخطوات التالية:
انتقل إلى appdistribution.firebase.google.com على جهاز Android الخاص بك.
قم بتسجيل الدخول باستخدام حساب الاختبار الحالي الخاص بك، وانقر فوق الزر تنزيل تطبيق اختبار في الجزء السفلي من الشاشة لتثبيت تطبيق Android App Tester.
تمكين ميزات الاختبار باستخدام App Distribution Android SDK
استخدم النصائح التالية لاستكشاف المشكلات وإصلاحها التي تتضمن تمكين تنبيهات التصميم الجديد داخل التطبيق أو إرسال تعليقات داخل التطبيق باستخدام App Distribution Android SDK.
إذا قمت بالفعل بإعداد App Distribution Android SDK في تطبيقك لدعم التعليقات داخل التطبيق ولم يتمكن المختبرون لديك من إرسال التعليقات، فاتبع الخطوات التالية:
تمكين التسجيل المطول لـ App Distribution Android SDK في تطبيقك:
adb shell setprop log.tag.FirebaseAppDistribution VERBOSE
تحقق من وجود رسائل خطأ في سجلات التطبيق لديك عن طريق تصفية "FirebaseAppDistribution".
تأكد من أن المختبر لديه حق الوصول إلى الإصدار المثبت:
إذا كانت السجلات تشير إلى أن "المختبر ليس لديه حق الوصول إلى هذا المورد"، فربما لم تتم دعوة المختبر الخاص بك إلى التطبيق، أو ربما لم يكن لديه حق الوصول إلى الإصدار.
في لوحة معلومات توزيع التطبيقات بوحدة تحكم Firebase، ابحث عن الإصدار الدقيق الذي يتم تشغيله على جهاز المختبر، وتأكد من إدراج المختبر في علامة تبويب المختبرين في بطاقة الإصدار وأنه في الحالة المقبولة.
إذا كنت لا تزال لا تتلقى تعليقات، فاتبع الخطوات التالية:
على جهاز الاختبار، قم بتسجيل الدخول إلى Firebase App Distribution باستخدام App Tester أو تطبيق الويب الخاص بالاختبار. تأكد من تحديد حساب Google الذي استخدمته لأول مرة عندما قبلت الدعوة لاختبار التطبيق.
قم بتثبيت التطبيق مرة أخرى باستخدام App Tester أو تطبيق الويب الاختباري للتأكد من أن المختبر لديه حق الوصول إلى الإصدار.
حاول إرسال التعليقات، وتأكد مرة أخرى من تسجيل الدخول باستخدام حساب Google نفسه.
تأكد من تمكين Firebase App Testers API. لمزيد من المعلومات، راجع تمكين واجهة برمجة التطبيقات لاختبار توزيع التطبيقات .
ضمن قيود المفاتيح ، تأكد من تضمين Firebase App Testers API في قائمة واجهات برمجة التطبيقات المسموح بها.
إذا رأيت هذه الرسالة عند إرسال التعليقات، "كان من المفترض أن يتم إرسال التعليقات، ولكن ليس بسبب وضع التطوير"، قم بتعطيل وضع المطور على الجهاز عن طريق تشغيل هذا الأمر:
adb shell setprop debug.firebase.appdistro.devmode false
تحقق من ملف
google-services.json
الخاص بك للتأكد من أنك ترسل تعليقات حول المشروع والتطبيق الصحيحين.تمكين التسجيل المطول لـ App Distribution Android SDK في تطبيقك:
adb shell setprop log.tag.FirebaseAppDistribution VERBOSE
تحقق من وجود رسائل خطأ في سجلات التطبيق لديك عن طريق تصفية "FirebaseAppDistribution".
إذا قمت بالفعل بإعداد App Distribution Android SDK في تطبيقك ولم يتلق المختبرون تنبيهات داخل التطبيق، فاتبع الخطوات التالية:
تحقق من وجود رسائل خطأ عن طريق إرفاق
OnFailureListener
بالمهمة التي تم إرجاعها بواسطة Firebase App Distribution API.جافا
firebaseAppDistribution.updateIfNewReleaseAvailable().addOnFailureListener ( e -> { if (e instanceof FirebaseAppDistributionException) { // Log exception here }});
كوتلين
firebaseAppDistribution.updateIfNewReleaseAvailable().addOnFailureListener { e -> if (e is FirebaseAppDistributionException) { // Log exception here } }
تأكد من أن المختبِر لديه حق الوصول إلى الإصدار الجديد:
تمكين وضع التصحيح في التطبيق الخاص بك. لمعرفة كيفية القيام بذلك، راجع وثائق Google Analytics .
قم بتشغيل تطبيقك في جهاز محاكاة وابحث عن السلسلة "FirebaseAppDistribution".
إذا كانت السجلات تشير إلى عدم العثور على أي إصدار، أو أن المختبر ليس لديه حق الوصول، فقد لا يكون المختبر الخاص بك مرتبطًا بالإصدار الجديد بعد.
في لوحة معلومات توزيع التطبيق بوحدة تحكم Firebase، تأكد من تضمين جهاز الاختبار الخاص بك في توزيع الإصدار الخاص بك وأنه في الحالة المقبولة .
إذا كان المختبر الخاص بك لا يزال لا يتلقى التنبيهات، فاطلب منه اتباع النصائح أدناه للتأكد من قبوله الدعوة لاختبار تطبيقك وإعداد جهاز الاختبار الخاص به بشكل صحيح:
على جهاز الاختبار، قم بتسجيل الدخول إلى Firebase App Distribution عبر App Tester أو عبر تطبيق الويب الخاص بالاختبار. تذكر تحديد حساب Google الذي استخدمته لأول مرة عندما قبلت الدعوة لاختبار التطبيق.
تحقق للتأكد من توفر إصدار التطبيق الجديد في App Tester أو تطبيق الويب الخاص بالاختبار.
افتراضيًا، يحتاج المختبرون لديك إلى تسجيل الدخول إلى حساب Google الخاص بهم مرة واحدة فقط لتمكين ميزات الاختبار. إذا تمت مطالبة المختبرين بتسجيل الدخول مرة أخرى بعد إغلاق تطبيقك وإعادة فتحه، فاتبع هذه النصائح للتأكد من إعداد تكوين توزيع التطبيق بشكل صحيح:
تحقق للتأكد من تمكين Firebase App Testers API. لمزيد من المعلومات، راجع تمكين واجهة برمجة التطبيقات لاختبار توزيع التطبيقات .
ضمن قيود المفاتيح ، تأكد من تضمين Firebase App Testers API في قائمة واجهات برمجة التطبيقات المسموح بها.
إذا قمت عادةً بمسح SharedPreferences عند تسجيل الخروج، فربما تقوم بمسح حالة المختبر الخاص بك. يقوم "توزيع التطبيقات" بتخزين علامة تشير إلى ما إذا كان المختبر الخاص بك قد قام بالفعل بتسجيل الدخول إلى التطبيق. لمزيد من المعلومات، راجع مستودع GitHub .
أسئلة مكررة
يحتوي Firebase App Distribution على حدود الاختبار التالية:
أضف 500 مختبِر كحد أقصى إلى مشروع Firebase
أضف 200 مختبر كحد أقصى إلى مجموعة توزيع التطبيقات
لإضافة المزيد من المختبرين، اطلب زيادة الحد بدون تكلفة.
لدى المختبرين 30 يومًا لقبول دعوة لاختبار التطبيق قبل انتهاء صلاحيته. عندما تكون الدعوة بعد 5 أيام من انتهاء الصلاحية، يظهر إشعار انتهاء الصلاحية في وحدة تحكم Firebase بجوار أداة الاختبار في الإصدار. يمكن تجديد الدعوة عن طريق إعادة إرسالها عبر القائمة المنسدلة في صف الاختبار.
تتم إزالة إصدارات التطبيق من توزيع التطبيقات في حالة حدوث أحد الحالات التالية:
- مضى على إصدار التطبيق أكثر من 150 يومًا.
- لقد تجاوزت حد إصدار التطبيق البالغ 1000 إصدار، وكان إصدار التطبيق أقدم من أحدث 1000 إصدار للتطبيق.
لمزيد من المعلومات، راجع توزيع التطبيقات يدعم 1000 إصدار كحد أقصى .
بعد أن يصل التطبيق إلى حد انتهاء الصلاحية البالغ 150 يومًا أو حد الإصدار البالغ 1000 أو يتجاوزه، تتم إزالة الإصدار من لوحة معلومات توزيع التطبيق وتطبيق Firebase App Tester. إذا قام المختبر الخاص بك بتثبيت الإصدار، فسيستمر تشغيل الإصدار المحلي من التطبيق.
للحفاظ على إصدار التطبيق متاحًا لفترة أطول، استخدم إحدى التوصيات التالية:
- قبل انتهاء صلاحية إصدار التطبيق أو تجاوز حد الإصدار، قم بتنزيل APK أو AAB واحذف الإصدار من لوحة معلومات توزيع التطبيق. بعد ذلك، أعد تحميل APK أو AAB كإصدار جديد لتوزيع التطبيق.
- قم بتنزيل الإصدار وتحميله على Cloud Storage للأرشفة على المدى الطويل.
تنتهي صلاحية إصدارات التطبيقات بعد 150 يومًا
عندما تقوم بتحميل إصدار من تطبيقك إلى Firebase، يظهر الإصدار في لوحة معلومات توزيع التطبيق لمدة 150 يومًا، بدءًا من تاريخ التحميل. بعد تحميل الإصدار، يمكنك توزيعه على المختبرين الذين يقومون بتثبيت الإصدار من تطبيق Firebase App Tester على جهاز الاختبار الخاص بهم.
عندما يكون الإصدار بعد 30 يومًا من تاريخ انتهاء الصلاحية، يظهر إشعار انتهاء صلاحية إصدار التطبيق على الإصدار الخاص بك في تطبيق Firebase App Tester.
يدعم توزيع التطبيقات ما يصل إلى 1000 إصدار كحد أقصى
يسمح توزيع التطبيقات بحد أقصى 1000 إصدار لكل تطبيق. عندما يصل تطبيقك إلى حد إصدار التطبيق البالغ 1000 إصدار، يقوم توزيع التطبيقات تلقائيًا بحذف الإصدارات الأقدم التي تتجاوز الحد الأقصى.
إذا كنت تريد إدارة إصدارات تطبيقك يدويًا، فاستخدم App Distribution REST API لسرد إصدارات التطبيق وحذفها بشكل مجمّع.
إذا كانت لديك أسئلة، فاتصل بدعم Firebase .
إذا كنت أحد المختبرين، فنوصيك بتنزيل Firebase App Tester ، وهو تطبيق يتيح لك الوصول إلى جميع إصدارات الاختبار الخاصة بك في مكان واحد.
لحذف حساب اختبار App Distribution والبيانات المرتبطة به، اتبع الخطوات التالية بالترتيب:
قم بزيارة https://appdistribution.firebase.google.com وقم بتسجيل الدخول باستخدام حساب Google الخاص بك.
في الجزء العلوي الأيسر، انقر فوق
( إدارة الحساب )حذف الحساب .
اختياري: في أذونات حساب Google الخاص بك، قم بإلغاء الوصول من Firebase App Distribution. لاحظ أن إلغاء الوصول دون حذف حساب توزيع التطبيقات الخاص بك أولاً لا يؤدي إلى حذف حساب المختبر أو البيانات الخاصة بك.