Josh — это созданное в Индии приложение для коротких видео, запущенное в августе 2020 года. Это также одно из самых быстрорастущих приложений для коротких видео в Индии: более 124 миллионов MAU и 60 миллионов DAU.
Оптимизация Josh для различных устройств (высокого, среднего и нижнего уровня) и поддержание стандартного взаимодействия на всех из них — непростая задача для любого разработчика приложений, и разработчики Josh понимали это с самого начала. Улучшение Android Vitals было основной задачей в их спринтах, и важное значение придавалось созданию удовольствия пользователей за счет улучшения времени запуска и реагирования приложения.
Скорость отклика приложения и время запуска также были важны, поскольку видео было основным форматом, который пользователи взаимодействовали и потребляли в приложении. Любые сбои в видеопотоке или перерывы в различных взаимодействиях могут быстро привести к тому, что пользователь потеряет интерес и закроет приложение.
Инвестируя в снижение времени запуска приложений, Джош улучшил время запуска приложений на 30 % для среднего пользователя и стал в 3 раза быстрее для примерно 10 % пользователей на старых и младших устройствах.
Вызов
Приложение Josh стало свидетелем быстрого роста до более чем 100 миллионов MAU менее чем за год. Часто в гонке за внедрение функций, ориентированных на продукты или события, оптимизация приложений отходит на второй план. Аудит приложений и структурная обратная связь от Google помогли им выявить эти проблемы на ранней стадии и проложить пути их устранения.
Как они это сделали
При мониторинге Android Vitals была выявлена возможность улучшить запуск приложений. Команда решила уделить приоритетное внимание сокращению времени холодного запуска, поскольку это автоматически улучшит время теплого и горячего запуска.
Используя несколько пользовательских трассировок, systrace, Android Studio Profiler и Perfetto, команде удалось провести обширное исследование и выявить узкие места. Было ясно, что время, затрачиваемое на onCreate класса приложения и другие синхронные методы, можно оптимизировать.
Вот что конкретно сделала команда:
- Профилирован каждый блок кода, который выполняется во время запуска приложения.
- Анализ трассировки системы с использованием инструментов производительности Android, таких как Perfetto, Systrace, Dumpsys и т. д.
- Было исследовано влияние сторонних SDK на запуск приложения, а автозапуск некоторых сторонних SDK был отключен.
- Устранены устаревшие библиотеки
- Некоторые модули были отложены и выполнялись в фоновом режиме.
- Уменьшен размер элементов рисования, используемых на заставке при запуске, и оптимизирован их размер экрана.
Все вышеперечисленное было тщательно проверено изолированным тестированием, чтобы подтвердить их положительное влияние на приложение, эмуляцию холодного запуска и интеграцию новой библиотеки Jetpack Macrobenchmark .
Результаты
Эти изменения не только привели к немедленному улучшению всех показателей, но и помогли улучшить общий пользовательский опыт, а также получили бесценные уроки для команды разработчиков Джоша.
- Улучшение показателей отказов и удержания помогло Джошу сохранить более 1 млн пользователей по сравнению с базовым показателем. Сосредоточение внимания на этих двух показателях также улучшило общее взаимодействие с приложением.
- Рейтинги Play Store показали положительную тенденцию к росту после запуска приложения с улучшениями при запуске.
- Время запуска приложения улучшилось на 30 % для среднего пользователя и стало в 3 раза быстрее для примерно 10 % пользователей на старых и младших устройствах , что помогло значительно улучшить скорость реагирования приложений для этих пользователей.
Что еще более важно, это упражнение по улучшению Android Vitals объединило всю команду, повысив ее мотивацию, особенно младших участников. Это подтвердило важность Vitals и даже привело к тому, что команда использовала некоторые полученные знания в других своих приложениях.
«Когда партнеры в экосистеме собираются вместе, экосистема растет вместе. Возможности данных и аналитики беспрецедентны. Будучи платформой, ориентированной на создателей, ориентированной на контент и потребителя, мы всегда фокусировались на создании максимального пользовательского опыта, который во многом зависит от стабильности приложения. Джош стал свидетелем немедленного ускорения роста после запуска. Тесное сотрудничество с командой Google Play помогло нам выявить и устранить такие проблемы, как стабильность и оптимизация приложения, на раннем этапе. Наши усилия с Google помогли нам повысить стабильность и улучшить удержание и вовлечение пользователей».
– Шайлендра Шарма, старший вице-президент по продуктам и инжинирингу, VerSe Innovation.