Skip to content

Task: Побудувати тул для завантаження маркетингових зображень із App Store та Google Play

Task ID: 20260328-mobile-app-marketing-graphics__task-01 Goal ID: 20260328-mobile-app-marketing-graphics Created at: 2026-03-28 15:58 (Europe/Kyiv)

Parent goal

  • Goal file: research/goals/20260328-mobile-app-marketing-graphics.md
  • Goal summary (скопійовано):

    Зібрати всі маркетингові зображення (скриншоти, прев'ю, промо-блоки) з App Store та Google Play для конкурентів, які мають мобільні застосунки, проаналізувати їх і додати короткі українські буліти з посиланнями/ідентифікаторами конкретних зображень до профілів мобільних застосунків.

Status

  • completed

Instructions

  • Створити Node.js/TypeScript скрипт у scripts/mobile-app-assets/ (наприклад, scripts/mobile-app-assets/download-store-graphics.mjs).
  • Функціонал: приймає JSON-манифест із конкурентами (App Store URL, bundleId, Google Play URL, applicationId) та шлях до вихідної директорії; завантажує доступні маркетингові зображення (скриншоти, preview, featured graphics) з обох сторах.
  • Вимоги: робота через офіційні сторінки (HTML + web_fetch), пер-айтем ретраї, лог кожного збереженого файлу (назва файлу й джерело), структура виходу research/assets/mobile-apps/<competitor>/<store>/.
  • Скрипт має повертати JSON зі статусом для кожної сутності (успіх, пропущено, помилка) та переліком файлів.
  • Додати --help з прикладом виклику й описом аргументів. Дотримуватись вимог scripts/README.md.

Findings

  • Створено scripts/mobile-app-assets/download-store-graphics.mjs (Node.js, ESM). Скрипт приймає JSON-манифест конкурентів (--manifest) і базову директорію виводу (--output-dir), завантажує скриншоти/preview App Store та Google Play, логуючи кожен збережений файл і повертаючи JSON-звіт у stdout.
  • Скрипт виконує пер-айтемні ретраї з експоненціальною затримкою, нормалізує srcset, підтримує роботу тільки через офіційні сторінки стора, створює структуру research/assets/mobile-apps/<competitor>/<store>/ і позначає статуси (success, no-assets, error).
  • Додано запис у scripts/README.md та оновлено package.json (ESM + залежності cheerio, yargs), щоб зафіксувати новий тул.

Next steps

  • Task 02: підготувати маніфест конкурентів і виконати тестовий прогін скрипта на обмеженій вибірці, щоб підтвердити структуру файлів та JSON-звіт.