#BestPractices #Release



"How to release a bug-free Android App in production?" Amit Shekhar@GetMeAnApp



Для каждого релиза стоит делать определенный набор практик: автоматизация сборки, тестивароние и пр. В статье вы найдете полезные советы, которые надо выполнять при пером релизе и следить в каждом следующем, чтобы ваше приложение было более стабильным.



На мой взгляд стоящие советы следующие:

👉🏻 Не включайте библиотеки, которые используются для отладки приложения в релизной сборке, такие как LeakCanary, Stetho и пр.

👉🏻 Добавляйте возможность включения/отключения новый функций

👉🏻 Реализуйте возможность конфигурации приложения с сервера (Remote Config)

👉🏻 Проверяйте ключ для подписи приложения

👉🏻 Проверяйте список permission, которые есть в приложение. Очень странно выглядет когда будильник будет запрашивать разрешение на дотсуп к SMS или контактам.

👉🏻 Добавляфте аналитику, чтобы понимать пользователей и знать что происходит в вашем приложение. Также на забывайте про решение для аналитики крешей (напр. Firebase Crashlytics или Instabug)

👉🏻 Используйте Proguard/R8.

👉🏻 Проверяйте поведение приложения в различных пограничных случаях

👉🏻 Проверяйте deep ссылки

👉🏻 Проверяйте обновление приложения поверх установленного старого, предварительно поработав в нем чтобы были сгенерированы данные реальной работы пользователя.

👉🏻 Обновление базы данных, настроек и пр. персистетных данных. Учтите что пользователи могу быть не на последней версии приложения, а на более ранней.



Лично от себя добавлю что стоит обратить внимание на функционал из Google Play:

👉🏻 Используйте Google Play pre-launch отчет. Он позволяет првоерить работы вашего приложения на популярных устрйоствах, поддерживаемых вашим приложением.

👉🏻 Делайте обновление постепенным с помощью Google Play staged rollout

👉🏻 Используйте Google Play app signing

👉🏻 Загружайте приложение в формате App Bundle. Это позволит вам избавиться от боли создания и управления множеством APK под различные типы устрйоств.