← Назад до майстерні
За лаштунками

Android Store Screenshot Kit

Справжні знімки справжніх застосунків Android, щоразу зроблені однаково й готові для Google Play.

Три екрани телефона, середній обведено й позначено галочкою

Про проєкт

Знімки для магазину застарівають після кожної зміни застосунку, а робити їх вручну на телефоні повільно, і двічі однаково не вийде. Цей набір перетворює їх на повторюваний крок: кожен застосунок має невеликий тест, що готує власні дані й проходить його екрани, а все інше бере на себе набір.

Він збирає застосунок і його тест, запускає їх на вибраному пристрої Firebase Test Lab, стежить за запуском до кінця, завантажує знімки й перевіряє їх на відповідність вимогам Google Play, перш ніж скопіювати в теку магазину застосунку.

Як це працює

  1. Опишіть запуск. Короткий файл TOML вказує застосунок, його тест, пристрої та очікувану кількість і розмір знімків.
  2. Напишіть частину застосунку. Почніть із шаблонного тесту, завантажте фіксовані зразкові дані й перелічіть екрани для знімків. Спільні допоміжні функції чекають на екрани, торкаються, закривають системні діалоги й фіксують орієнтацію.
  3. Запустіть один пристрій. Одна команда збирає обидва APK, надсилає їх у Firebase Test Lab і стежить за тестом до завершення.
  4. Зберіть і перевірте. Знімки завантажуються, перевіряються за кількістю, розміром і форматом кольору та зберігаються разом із записом про запуск.

Зроблено за допомогою набору

Це знімки Pocket Omaha для планшетів у Google Play, зроблені набором на справжньому Pixel Tablet у Firebase Test Lab. Тест завантажує записані дані для Apple, JPMorgan і Nokia, тож ринкові дані не запитувалися, і кожен запуск показує ті самі цифри.

Перший запуск також виявив попередження Android про сумісність щодо вирівнювання однієї з нативних бібліотек застосунку. Після оновлення бібліотеки другий запуск пройшов без нього.

Можливості

  • Однаковий результат щоразу: Кожен застосунок завантажує власні записані зразкові дані замість звертатися до живих сервісів, тож знімки не змінюються від запуску до запуску.
  • Перевірені перед використанням: Кожен PNG перевіряється на очікувану кількість, розміри та формат RGB без прозорості, якого вимагає Google Play.
  • Запис про кожен запуск: Кожен запуск отримує власну теку з незміненими PNG і файлом run.json, де є хеші файлів, пристрій, посилання на Firebase Console і точна конфігурація.
  • Готовий до пристроїв із 16 КБ: Окрема перевірка контролює вирівнювання APK і кожної нативної бібліотеки в ньому для пристроїв Android зі сторінками пам’яті 16 КБ.
  • Без несподіваних рахунків: Пристрій завжди треба вказати явно, тож запуск ніколи не розходиться на всі налаштовані, можливо платні, фізичні пристрої.
  • Секрети — окремо: Ідентифікатори проєкту беруться зі змінних середовища, а вхід — із Google Cloud CLI; у конфігурації немає облікових даних.
  • Легко впровадити: Допоміжні функції залежать лише від AndroidX Test і UI Automator, тож підходять застосункам із Jetpack Compose і без нього.

Під капотом

Інструмент командного рядка — це один скрипт Python, якому не потрібно нічого, крім Python 3.11. Спільні допоміжні функції — це невелика бібліотека Android на Java, тож вони не нав’язують версію Kotlin застосункам, що їх використовують, і працюють з AGP 8 та AGP 9. У CI віртуальні пристрої можуть запускатися на кожен pull request, а фізичні — лишатися для реліз-кандидатів. Набір має відкритий код за ліцензією GPL-3.0.