این صفحه، راهنمایی برای عیبیابی و پاسخ به سوالات متداول در مورد توزیع و آزمایش برنامهها با استفاده از App Distribution ارائه میدهد.
توزیع برنامهها
از نکات زیر برای عیبیابی مشکلاتی که ممکن است هنگام توزیع برنامهها به آزمایشکنندگان خود با آنها مواجه شوید، استفاده کنید.
هنگام آپلود برنامه، ممکن است با این خطا مواجه شوید:
«ما نتوانستیم ایمیل تماس برای app <app-id> پیدا کنیم. لطفاً برای تنظیم آن، به App Distribution در کنسول Firebase مراجعه کنید.»
در صورت وجود، یک ایمیل تماس در کنسول Firebase تنظیم کنید. اگر مشکل همچنان ادامه داشت، با پشتیبانی Firebase تماس بگیرید.
اگر در حین آمادهسازی، مرتباً با خطاهای ۴۰۰، ۴۰۹ یا ۵۰۰ مواجه شدید، با پشتیبانی Firebase تماس بگیرید. شماره پروژه Firebase و شناسه برنامه خود را به پشتیبانی ارائه دهید.
مثال زیر پاسخ شبکه مرورگر را نشان میدهد:
{
"status": "IN_PROGRESS",
"message": "There was an error processing your
distribution. Ensure you are uploading a valid IPA or APK and try again."
}
برای حل این مشکل، مراحل زیر را دنبال کنید:
اندازه IPA را بررسی کنید. حداکثر اندازه فایل برای همه فایلهای باینری ۲۰۴۸ مگابایت است که کمی بیش از ۲ گیگابایت است.
اگر اندازه IPA در محدوده اندازه فایل است و قابل تکثیر است، این مراحل را دنبال کنید:
فایل
Info.plistخود را بررسی کنید و تأیید کنید که آیاCFBundleDisplayNameحاوی جداکنندههای<array>است یا خیر.جداکنندههای
<array>را حذف کنید و برنامه خود را از نو بسازید. آپلود باید با موفقیت انجام شود.اگر هنوز با مشکل مواجه هستید، با پشتیبانی Firebase تماس بگیرید.
اگر اندازه IPA از حد مجاز اندازه فایل بیشتر است، تغییرات لازم را برای کاهش اندازه فایل انجام دهید.
اگر کاهش حجم فایل IPA مشکل را حل نکرد، با پشتیبانی Firebase تماس بگیرید و در مورد استفاده از Testflight سوال کنید.
نصب و آزمایش برنامهها
از نکات زیر برای عیبیابی مشکلاتی که ممکن است آزمایشکنندگان شما هنگام نصب و آزمایش برنامههای شما با آن مواجه شوند، استفاده کنید.
وقتی کاربری یک حساب گوگل ایجاد میکند، بهطور خودکار یک آدرس جیمیل دریافت میکند.
اگر آزمایشکننده آدرس Google Workspace یا Gmail ندارد، یا اگر ترجیح میدهد از آدرس ایمیل دیگری برای ورود به سیستم استفاده کند، از آزمایشکننده بخواهید یک آدرس ایمیل غیر Gmail را به حساب کاربری خود متصل کند و از آن ایمیل برای ورود به سیستم استفاده کند.
هنگام انتخاب ایمیل جایگزین، آزمایشکننده باید این دستورالعملها را دنبال کند:
- از آدرس جیمیل استفاده نکنید.
- از آدرس ایمیلی که قبلاً به یک حساب گوگل دیگر مرتبط است استفاده نکنید.
- به یاد داشته باشید هنگام ورود به سیستم با این آدرس ایمیل، از رمز عبور حساب گوگل خود استفاده کنید.
برای اطلاعات بیشتر، به «ورود به حساب گوگل خود با آدرس ایمیل دیگر» مراجعه کنید.
اگر آزمایشکننده دعوتنامه ایمیلی را با آدرس ایمیلی متفاوت از آنچه دعوتنامه به آن ارسال شده بود، بپذیرد، ممکن است آزمایشکننده نتواند برنامهها یا نسخههای درست را ببیند.
ایمیلی که توسعهدهنده برای آن دعوتنامه میفرستد و به نسخههای جدید اضافه میکند (ایمیل A) میتواند با ایمیلی که آزمایشکننده برای پذیرش دعوتنامه استفاده میکند (ایمیل B) متفاوت باشد. این کار در پشت صحنه یک لینک ایجاد میکند. هر زمان که ایمیل A به نسخههای جدید اضافه میشود، در واقع ایمیل B است که به آنها دسترسی پیدا میکند.
اگر آزمایشکننده دعوتنامه ایمیلی را با آدرس ایمیل دیگری پذیرفت، برای حل مشکل این مراحل را دنبال کنید:
تستر را از بخش « مشاهده همه تسترها» در تب «تستکنندگان و گروهها» در صفحه App Distribution کنسول Firebase حذف کنید. دعوتنامههای موجود حذف میشوند.
دوباره از تستر دعوت کنید تا برنامه شما را آزمایش کند. تستر باید یک ایمیل دعوت دریافت کند.
مطمئن شوید که آزمایشکننده دعوتنامه را با همان آدرس ایمیل قبول میکند.
اگر یکی از موارد زیر رخ دهد، ممکن است آزمایشکنندگان اعلانهای ایمیلی دریافت نکنند:
اعلانهای ایمیل به پوشههای هرزنامه ارسال میشوند.
فیلترهای ایمیل تنظیم شدهاند.
دعوتنامه به یک حساب ایمیل ارسال شده است، اما آزمایشکننده با یک حساب ایمیل دیگر آن را پذیرفته است. آزمایشکننده ایمیلهای انتشار جدید را برای حساب ایمیلی که دعوتنامه در ابتدا به آن ارسال شده بود، دریافت میکند.
آزمایشکننده قبلاً دعوت شده بود اما دعوت اولیه را نپذیرفت. اگر آزمایشکننده به نسخههای بعدی اضافه شود، App Distribution به طور خودکار اعلانهای انتشار را برای آن آزمایشکننده ارسال نمیکند زیرا آزمایشکننده دعوت اولیه را نپذیرفته است.
راه حل ۱
از آزمایشکننده بخواهید پوشه هرزنامه و هرگونه فیلتر ایمیلی که در سرویس ایمیل خود تنظیم کرده است را بررسی کند.
اگر آزمایشکننده اشتراک خود را از ایمیلها لغو کرد، از آزمایشکننده بخواهید موارد زیر را انجام دهد:
- ایمیلی را پیدا کنید که آزمایشکننده قبلاً از برنامه دریافت کرده است.
- روی مدیریت تنظیمات ایمیل در پایین کلیک کنید و روی اجازه دادن به ایمیلها برای اشتراک مجدد کلیک کنید.
راه حل ۲
اگر آزمایشکننده اهمیتی به دریافت اعلانهای ایمیل نمیدهد و فقط میخواهد بتواند دعوتنامههای برنامه را بپذیرد، میتواند دعوتنامههای در انتظار برنامه را مستقیماً در کلیپ وب Firebase App Distribution مشاهده کند: appdistribution.firebase.google.com .
راه حل ۳
تستر را از بخش « مشاهده همه تسترها» در تب «تسترها و گروهها» در صفحه App Distribution در کنسول Firebase حذف کنید. این عمل دعوتنامههای موجود را حذف میکند.
دوباره از آزمایشکننده دعوت کنید تا برنامه شما را آزمایش کند. آزمایشکننده باید یک ایمیل دعوت دریافت کند. مطمئن شوید که آزمایشکننده دعوت را با همان آدرس ایمیلی که دعوتنامه به آن ارسال شده است، میپذیرد.
خطای Untrusted Enterprise Developer در صورتی ظاهر میشود که قبل از باز کردن برنامه، به گواهی توسعهدهنده در دستگاه آزمایشی اعتماد نکرده باشید. در برنامه تنظیمات > صفحه Profiles & Device Management ، نام توسعهدهنده برنامه را انتخاب کرده و به آن اعتماد کنید.
خطای «حالت توسعهدهنده مورد نیاز است» زمانی ظاهر میشود که سعی میکنید یک برنامه iOS با مجوز موقت را در iOS 16 یا بالاتر بدون فعال کردن حالت توسعهدهنده اجرا کنید.
برای فعال کردن حالت توسعهدهنده و رفع این خطا، مراحل زیر را دنبال کنید:
- در آیفون خود، برنامه تنظیمات (Settings) را باز کنید و سپس روی حریم خصوصی و امنیت (Privacy & Security) ضربه بزنید.
- به پایین اسکرول کنید تا به بخش امنیت (Security) برسید و روی حالت توسعهدهنده (Developer Mode) ضربه بزنید.
- روی نوار لغزنده حالت توسعهدهنده ضربه بزنید.
- روی راهاندازی مجدد ضربه بزنید.
- پس از راهاندازی مجدد دستگاه، قفل دستگاه را باز کنید. کادر محاورهای «حالت توسعهدهنده را فعال کنید؟» ظاهر میشود.
- روی روشن کردن (Turn On) ضربه بزنید. اکنون میتوانید برنامه خود را اجرا کرده و شروع به آزمایش کنید.
اگر در حال نصب یک توزیع Ad Hoc هستید، این پیام زمانی ظاهر میشود که توسعهدهنده هنوز برنامه خود را برای اجرا روی دستگاه آزمایشی شما پیکربندی نکرده است. برای اینکه برنامه در دسترس شما قرار گیرد، توسعهدهنده باید دستورالعملهای موجود در بخش «ثبت دستگاههای اضافی» را تکمیل کند.
اگر حساب گوگل شما به برنامه آزمایشی که قبلاً نصب کردهاید (یا دعوتنامهاش را پذیرفتهاید) دسترسی ندارد، احتمالاً با حساب گوگل اشتباهی وارد سیستم شدهاید. برنامههایی که به آنها دسترسی دارید با حساب گوگلی که هنگام اولین پذیرش دعوت برای آزمایش برنامه استفاده کردهاید، مرتبط هستند. با ورود به حساب گوگلی که قبلاً برای پذیرش دعوتنامه استفاده کردهاید، دوباره امتحان کنید.
وقتی با خطای ۴۰۳ مواجه میشوید، به این معنی است که حسابی که استفاده میکنید مجوز نصب و آزمایش برنامهها را ندارد. دسترسی توسط سرپرست دامنه حساب شما در Google Workspace تعیین میشود.
اگر معتقدید که باید مجوز نصب و آزمایش برنامهها را داشته باشید، از مدیر حساب Google Workspace خود بخواهید تنظیمات حساب شما را تغییر دهد. مدیر شما باید دستورالعملهای موجود در «مدیریت دسترسی به سرویسهایی که به صورت جداگانه کنترل نمیشوند» را دنبال کند.
اگر چندین حساب کاربری دارید، سعی کنید با یک حساب کاربری دیگر که محدودیت نصب و آزمایش برنامهها را ندارد، وارد شوید.
فعال کردن هشدارهای درون برنامهای با استفاده از SDK App Distribution iOS
از نکات زیر برای عیبیابی مشکلاتی که شامل فعال کردن هشدارهای ساخت جدید درون برنامهای با استفاده از App Distribution iOS SDK میشود، استفاده کنید.
اگر قبلاً SDK iOS App Distribution را در برنامه خود تنظیم کردهاید و آزمایشکنندگان شما هشدارهای درون برنامهای دریافت نمیکنند، بررسی کنید که برنامه شما نسخههای جدید را دریافت میکند:
حالت اشکالزدایی (debug mode) را در برنامه خود فعال کنید. برای یادگیری نحوهی انجام این کار، به مستندات گوگل آنالیتیکس مراجعه کنید.
برنامه خود را در یک شبیهساز اجرا کنید و رشته "[Firebase/AppDistribution]" را جستجو کنید.
بررسی کنید که آزمایشکننده به نسخه جدید دسترسی داشته باشد:
اگر یک شیء انتشار معتبر برگردانده شود، احتمالاً مشکلی در چرخه حیات View Controller وجود دارد که در آن کادر محاورهای هشدار قبل از نمایش View بارگذاری میشود.
اگر هیچ نسخهای برگردانده نشود، ممکن است تستر شما هنوز با نسخه جدید مرتبط نشده باشد. در داشبورد App Distribution کنسول Firebase ، مطمئن شوید که تستر شما در توزیع ساخت شما گنجانده شده و در حالت پذیرفته شده قرار دارد.
اگر آزمایشکننده شما هنوز بهروزرسانیها را دریافت نمیکند، از او بخواهید نکات زیر را دنبال کند تا مطمئن شوید که دعوت برای آزمایش برنامه شما را پذیرفته و دستگاه آزمایش خود را به درستی تنظیم کرده است:
در دستگاه آزمایشی، وارد کلیپ وب Firebase App Distribution شوید. به یاد داشته باشید که حساب گوگلی را که برای اولین بار هنگام پذیرش دعوت برای آزمایش برنامه استفاده کردید، انتخاب کنید.
مطمئن شوید که نسخه جدید برنامه در کلیپ وب موجود است.
به طور پیشفرض، آزمایشکنندگان شما فقط باید یک بار وارد حساب گوگل خود شوند تا هشدارهای ساخت جدید را فعال کرده و ساختهای جدید را نصب کنند. اگر آزمایشکنندگان شما پس از بستن و باز کردن مجدد برنامه، دوباره از آنها خواسته میشود وارد سیستم شوند، این نکات را دنبال کنید تا مطمئن شوید پیکربندی App Distribution شما به درستی تنظیم شده است:
بررسی کنید که آیا API مربوط به آزمایشکنندگان برنامهی Firebase را فعال کردهاید یا خیر. برای اطلاعات بیشتر، به بخش «فعال کردن API آزمایشکنندهی توزیع برنامه» مراجعه کنید.
در بخش محدودیتهای کلیدی (Key restrictions) ، مطمئن شوید که API مربوط به Firebase App Testers در فهرست APIهای مجاز قرار دارد.
اگر معمولاً هنگام خروج از سیستم، UserDefaults را پاک میکنید، ممکن است وضعیت آزمایشگر خود را نیز پاک کنید. App Distribution پرچمی را ذخیره میکند که نشان میدهد آیا آزمایشگر شما قبلاً وارد برنامه شده است یا خیر. برای اطلاعات بیشتر، به مخزن GitHub مراجعه کنید.
سوالات متداول
Firebase App Distribution محدودیتهای تستر زیر را دارد:
حداکثر ۵۰۰ آزمایشکننده به یک پروژه Firebase اضافه کنید
حداکثر ۲۰۰ آزمایشکننده را به یک گروه App Distribution اضافه کنید
برای افزودن آزمایشکنندگان بیشتر، درخواست افزایش سقف بدون هزینه را بدهید.
آزمایشکنندگان 30 روز فرصت دارند تا دعوتنامه را برای آزمایش برنامه قبل از انقضا بپذیرند. وقتی 5 روز به انقضای دعوتنامه باقی مانده باشد، یک اعلان انقضا در کنسول Firebase در کنار آزمایشکننده در نسخه منتشر شده ظاهر میشود. دعوتنامه را میتوان با ارسال مجدد آن از طریق منوی کشویی در ردیف آزمایشکننده تمدید کرد.
به ثبت دستگاههای اضافی مراجعه کنید.
در صورت بروز یکی از شرایط زیر، نسخههای برنامه از App Distribution حذف میشوند:
- نسخه برنامه قدیمیتر از ۱۵۰ روز است.
- شما از محدودیت ۱۰۰۰ نسخه برنامه عبور کردهاید و نسخه برنامه قدیمیتر از ۱۰۰۰ نسخه اخیر برنامه است.
برای اطلاعات بیشتر، به App Distribution حداکثر از ۱۰۰۰ نسخه پشتیبانی میکند» مراجعه کنید.
پس از اینکه برنامه به محدودیت انقضای ۱۵۰ روزه یا محدودیت انتشار ۱۰۰۰ برنامه رسید یا از آن عبور کرد، نسخه از داشبورد App Distribution و برنامه وب تستر App Distribution حذف میشود. اگر تستر شما نسخه را نصب کرده باشد، نسخه محلی برنامه همچنان اجرا میشود.
برای اینکه نسخه آزمایشی برنامه مدت بیشتری در دسترس باشد، از یکی از توصیههای زیر استفاده کنید:
- قبل از اینکه نسخه برنامه منقضی شود یا از محدودیت انتشار فراتر رود، IPA را دانلود کرده و نسخه را از داشبورد App Distribution حذف کنید. سپس، IPA را به عنوان یک نسخه جدید در App Distribution دوباره بارگذاری کنید.
- نسخه را دانلود کنید و برای بایگانی طولانی مدت، آن را در Cloud Storage آپلود کنید.
نسخههای منتشر شده از برنامهها پس از ۱۵۰ روز منقضی میشوند
وقتی نسخهای از برنامه خود را در Firebase آپلود میکنید، این نسخه به مدت ۱۵۰ روز، از تاریخ آپلود، در داشبورد App Distribution ظاهر میشود. پس از آپلود نسخه، میتوانید آن را بین آزمایشکنندگان توزیع کنید که نسخه را از برنامه وب آزمایشکننده App Distribution روی دستگاه آزمایشی خود نصب میکنند.
وقتی ۳۰ روز از تاریخ انقضای انتشار گذشته باشد، یک اعلان انقضای انتشار برنامه در صفحه App Distribution کنسول Firebase و در برنامه وب تستر App Distribution ظاهر میشود.
App Distribution حداکثر از ۱۰۰۰ نسخه پشتیبانی میکند
App Distribution حداکثر ۱۰۰۰ نسخه برای هر برنامه را مجاز میداند. وقتی برنامه شما به محدودیت ۱۰۰۰ نسخه برسد، App Distribution به طور خودکار قدیمیترین نسخههای بالاتر از حد مجاز را حذف میکند.
اگر میخواهید نسخههای برنامه خود را به صورت دستی مدیریت کنید، از API REST App Distribution برای فهرست کردن و حذف نسخههای برنامه به صورت عمده استفاده کنید.
اگر سوالی دارید، با پشتیبانی فایربیس تماس بگیرید.
پروفایل فایربیس یک پروفایل پیکربندی است که به App Distribution اجازه میدهد:
با جمعآوری شناسه منحصر به فرد دستگاه (UDID) آن، دستگاه آزمایشی را ثبت کنید. اگر در حال آزمایش یک توزیع Ad Hoc هستید، Firebase ایمیلی را برای توسعهدهنده برنامه ارسال میکند که شامل UDID دستگاه آزمایشی به همراه دستورالعملهایی در مورد نحوه قرار دادن دستگاه در پروفایل تأمین برنامه است تا بتوان نسخه نهایی را روی دستگاه شما آزمایش کرد.
یک کلیپ وب Firebase App Distribution را روی صفحه اصلی دستگاه خود نصب کنید. این کلیپ وب به شما امکان میدهد تمام برنامههای آزمایشی خود را در یک مکان نصب و دسترسی داشته باشید. نسخههای جدیدی که برای آزمایش از شما دعوت شدهاند، به طور خودکار به کلیپ وب اضافه میشوند.
برای کمک به نصب پروفایلهای پیکربندی در دستگاه iOS خود، به مستندات اپل مراجعه کنید.
اگر شما یک آزمایشکننده هستید، میتوانید با استفاده از کلیپ وب Firebase App Distribution که به طور خودکار هنگام نصب پروفایل Firebase به صفحه اصلی دستگاه آزمایشی شما اضافه میشود، به تمام برنامههای آزمایشی خود دسترسی داشته باشید. اگر در حال آزمایش یک توزیع Ad Hoc هستید، ابتدا باید قبل از آزمایش برنامه، پروفایل را نصب کنید .
اگر در حال آزمایش توزیع Enterprise هستید، میتوانید پروفایل را به صورت دستی نصب کنید:
اگر هنوز این کار را نکردهاید، وارد گوگل شوید و دعوت را بپذیرید.
در قسمت Test apps ، برنامهای را که میخواهید آزمایش کنید انتخاب کنید.
در بالا سمت راست صفحه برنامه، روی mobile_screen_share ضربه بزنید.
دستورالعملهای نمایش داده شده را برای نصب پروفایل Firebase دنبال کنید.
برای حذف حساب کاربری تستر App Distribution و دادههای مرتبط با آن، این مراحل را به ترتیب دنبال کنید:
به آدرس https://appdistribution.firebase.google.com مراجعه کنید و با حساب گوگل خود وارد شوید.
در بالا سمت راست، روی ( مدیریت حساب ) کلیک کنید
حذف حساب کاربری .
اختیاری: در مجوزهای حساب گوگل خود، دسترسی از Firebase App Distribution لغو کنید. توجه داشته باشید که لغو دسترسی بدون حذف اولیه حساب App Distribution ، حساب تستر یا دادههای شما را حذف نمیکند .