Прокачуємо соло-розробку на Android: інструменти, користувачі та монетизація

💡 Усі статті, обговорення, новини про Mobile — в одному місці. Приєднуйтесь до Mobile спільноти!

Мене звати Павло Рекун, я Android-розробник із шестирічним досвідом. Програмувати почав ще в старших класах школи — тоді ж вирішив одразу створити свій перший застосунок і пройшов увесь шлях: від базового дизайну до публікації в Android Market (ще до його ребрендингу в Google Play).

У цій статті я хочу поділитися своїм досвідом і, можливо, дати кілька порад, які допомогли мені створити 5 застосунків із понад мільйоном завантажень.

Трохи про мої застосунки

Усе почалося зі створення Learn IT! — математичного довідника, який я розробляв паралельно з вивченням Java, тоді ще використовуючи Eclipse. На розробку пішло близько двох місяців, після чого я випустив застосунок в Android Market. Однак, попри мої спроби популяризувати його на форумах і технічних сайтах, застосунок не знайшов багато користувачів. Через три місяці після релізу я вирішив його видалити й почав шукати нові ідеї.

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

  • Castro — застосунок для моніторингу стану системи (батарея, ЦП, мережа тощо);
  • Skit — менеджер усіх встановлених на телефоні застосунків;
  • Graphie — фотогалерея з великим акцентом на редагування EXIF-метаданих;
  • Tilla — застосунок для контролю платних підписок.

Кожен із них з’явився у відповідь на власну потребу. Наприклад, я придбав камеру і захотів мати зручний інструмент для перегляду та сортування фото за метаданими — так з’явився Graphie. Коли з’явилося багато підписок — зробив Tilla під себе. І так далі.

Якщо говорити мовою цифр, то наразі аудиторія всіх моїх безкоштовних застосунків становить приблизно 58 000 активних пристроїв (тобто застосунок встановлений і використовується), а щомісячна активна аудиторія (MAU) — близько 9 000 користувачів. Щодо платних версій (про монетизацію трохи нижче) — маю 12 610 активних користувачів.

Технічна частина

Початковий технічний стек був стандартним для свого часу: Java + Dagger + Material Components. Але, як і будь-який поважаючий себе розробник, я регулярно переписую свої застосунки, щоб залишатися в тонусі та впроваджувати нові технології. Поточний стек виглядає приблизно так:

  • Архітектура: Clean Architecture + MVI (на основі Orbit MVI).
  • UI: Jetpack Compose.
  • DI: Dagger + Hilt.
  • Storage: Room і DataStore.

Оскільки наразі всі мої застосунки є «локальними» (тобто працюють без сервера), мені не потрібен повноцінний бекенд. Тому я обмежуюся використанням Firebase для базових речей: аналітики, push-нотифікацій і A/B тестування.

Зараз, плануючи свій новий застосунок, я однозначно збираюся розробляти його у форматі KMP (Kotlin Multiplatform) із використанням Compose Multiplatform. Майже всі бібліотеки, які я зазвичай використовую, вже підтримують KMP — залишається лише перейти на Koin замість Hilt.

Фактично, ця не надто велика зміна в архітектурі відкриває мені двері до можливості портувати застосунок на iOS у майбутньому.

Монетизація: що працює, а що ні

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

У світі мобільних застосунків існує три основні моделі монетизації:

  • Інтеграція реклами.
  • Продаж самого застосунку.
  • Freemium-модель.

Ще тоді, як і зараз, я щиро ненавидів рекламу в застосунках — вона постійно відриває від процесу, з’являється у невідповідні моменти й руйнує враження від якісного продукту. Тож цей варіант я відкинув одразу.

Мої помилки та уроки

Для Castro, Skit і Tilla я обрав freemium-модель, але зробив помилку в реалізації. Замість використання In-App Purchases, як це зазвичай робиться (безкоштовна базова версія + платний функціонал всередині застосунку), я створив дві окремі версії — Basic і Premium.

Коли користувач хотів розблокувати додаткові функції, його перекидало в Google Play, де він мав придбати окремий Premium-застосунок і вручну видалити Basic. Це рішення принесло лише проблеми:

  • стало складніше оновлювати метадані (опис, скриншоти) для двох застосунків;
  • створювалося більше клопоту для користувача;
  • значно гірша конверсія, бо користувач «випадав» з контексту застосунку в момент покупки.

Для Graphie я вирішив спробувати підхід, популярний на iOS, — зробити застосунок повністю платним. Але цей варіант взагалі не спрацював, бо користувачі Android рідко готові платити за застосунок, який не можна навіть спробувати. А зробити пробний період (trial) я тоді просто не додумався :)

Що працює найкраще

Основна проблема як платних застосунків, так і одноразових покупок у freemium — це те, що ви отримуєте фіксований дохід з одного користувача, попри те, що вкладаєте багато часу в розробку та підтримку.

Якщо ви хочете розвиватися як indie/solo-розробник, я раджу звернути увагу на freemium-модель із підписками. Такий підхід:

  • дозволяє отримувати регулярний дохід (щомісяця або щороку);
  • не вимагає постійного притоку нових користувачів для виживання;
  • дає можливість запропонувати довготривалі цінності (і відповідно вищу ціну).

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

Цю модель зараз активно використовують solo-розробники на iOS, і вона поступово адаптується на Android.

Маленька, але ефективна порада

Я часто користуюсь можливістю робити знижки й розпродажі, але ніколи не знижую ціну більш ніж на 50%, щоб не знецінювати продукт. Для цього я створив спеціальний UI-блок для акцій, який активується через Firebase Remote Config, і надсилаю разові push-нотифікації користувачам, які дали згоду на отримання повідомлень.

Як просувати застосунок без бюджету

Коли ви створюєте свій перший застосунок, головною проблемою стає пошук перших користувачів. Вони допомагають вам «зарелізитись» (адже зараз навіть для публікації потрібно мати хоча б кількох тестерів) і можуть запустити ефект сарафанного радіо.

Трошки про ASO

Насамперед варто почитати про ASO (App Store Optimization) — як підбирати ключові слова та оптимізувати сторінку застосунку. Постійно експериментуйте з назвою, описом і скриншотами в Google Play Console, використовуючи вбудовані A/B-тести.

Ще один корисний крок — локалізація. Почніть із мов із найбільшою кількістю носіїв або перевірте аналітику за країнами й адаптуйте застосунок під найбільш активні ринки. Раніше я використовував open-edit-ком’юніті (бартер: ви перекладаєте — я даю промокод на Premium) через платформу OneSky. Але швидко стикнувся з проблемою — багато людей просто вносили безглузді правки заради промокодів. У результаті я відмовився від цього підходу.

Зараз я експериментую з AI-перекладами. Завдяки появі моделей на кшталт o3/o4-mini якість значно зросла — і я більше не отримую негативних відгуків щодо локалізації.

Особливу увагу приділяйте фідбеку в Google Play. Намагайтесь уникати низьких оцінок і відповідайте на всі відгуки — це покращує репутацію та підвищує шанси на потрапляння до рекомендацій Google Play.

Ще один важливий момент — я додав до всіх своїх застосунків In-App Review-діалог. Показую його один раз, і лише після завершення ключового флоу, коли користувач уже отримав цінність від застосунку.

Наприклад:

  • у Tilla — після додавання першої підписки;
  • у Castro — після створення першого звіту про стан системи.

Я завжди стежу, щоб ці операції завершились успішно, перш ніж показувати діалог — це важливо, аби користувач не поставив негативну оцінку через баг чи розчарування.

YouTube-маркетинг: те, що справді працює

При запуску нового застосунку я завжди використовую YouTube-маркетинг. Почніть із пошуку каналів, які роблять огляди застосунків і мобільних ігор, складають щомісячні топи тощо. Таких каналів чимало. Просто напишіть їм — запропонуйте промокоди для глядачів в обмін на згадку у відео.

Цей підхід дав мені великий стартовий буст і допоміг сформувати core-аудиторію, яка справді зацікавилась моїми продуктами.

Ось кілька каналів, які позитивно відреагували на мої листи:

Просто створіть цікавий застосунок і не бійтеся писати листи всім, кому можете — блогерам, ютуберам, сайтам, ком’юніті. Іноді достатньо однієї відповіді, щоб отримати потрібний стартовий буст. Якщо вам вдасться гарно стартувати, алгоритми Google Play можуть це підхопити — і почнуть рекомендувати ваш застосунок більшій кількості потенційних користувачів.

Побудова персонального бренду та просування в спільнотах

Ще одна порада — створити акаунт у X/Twitter або BlueSky, щоб почати формувати персональний бренд. Багато solo-розробників ведуть такі акаунти, де публікують маленькі новини, інсайди з розробки, аналітику запусків, невеликі фейли чи мікроісторії. Так формується аудиторія, яку потім легко конвертувати у стартових користувачів нового застосунку.

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

Ось кілька прикладів акаунтів, на які я підписаний і які рекомендую використовувати як приклад:

Я також кілька разів намагався запускати свої продукти на Product Hunt і Uneed, але без помітного успіху. Конкуренція там досить висока, тож я рекомендую спробувати, але не очікувати миттєвого результату — це радше інвестиція у довготривалу впізнаваність.

Reddit: одна з найкращих безкоштовних платформ для просування

Особливу увагу я б приділив Reddit — по суті, це сучасна форма старих добрих форумів. Тут є субредіти (спільноти) на будь-яку тему. Коли я запускаю новий застосунок або велике оновлення, зазвичай створюю пости з описом, скріншотами та кількома промокодами — це добре працює для привернення уваги.

Проте майте на увазі, що кожен subreddit має свої правила — багато з них забороняють self-promo, тож обов’язково перевіряйте правила перед публікацією.

Ось список спільнот, у яких я зазвичай роблю пости:

  • r/startups, r/Entrepreneur — для обговорення ідей та запиту на фідбек;
  • r/Android, r/AndroidApps — Android-орієнтовані; в r/Android легко отримати бан за саморекламу;
  • r/selfpromo, r/YouShouldKnow, r/promoteyourstuff, r/productpromotion — загальні сабредіти, відкриті до будь-якої самореклами.

Будуйте своє комʼюніті

Якщо у вас вже є кілька застосунків, хороша ідея — створити навколо них невелике комʼюніті. Я для цього використовую Telegram, де відкрив групу для фідбеку та ідей. Навіть попри невелику кількість учасників, це допомагає:

  • знаходити бета-тестувальників;
  • отримувати швидкий фідбек;
  • просто чути думку реальних користувачів.

Як я автоматизую і спрощую розробку

Наостанок я хотів би поділитися кількома інструментами, які реально допомагають мені на шляху solo-розробника.

Crowdin + OpenAI API для локалізації

Як я вже згадував, я активно тестую AI-переклад — і результати доволі приємні. Я створив власний API-токен для використання моделі o4-mini, а для керування мовами використовую український продукт Crowdin. У ньому можна:

  • додати власний токен OpenAI API;
  • адаптувати системний prompt (щоб уникнути перекладу специфічних для Android елементів);
  • і Crowdin автоматично викликатиме API, а на виході ви отримаєте готові .xml-файли для інтеграції у проєкт.

Це сильно спрощує локалізацію й дозволяє швидко масштабуватись на інші мови.

Fastlane

Це інструмент для автоматизації релізного процесу. Я використовую його, щоб:

  • запускати Gradle-збірку;
  • проганяти тести;
  • згенерувати Baseline Profile;
  • і автоматично залити App Bundle до Google Play Console та відправити на ревʼю.

Fastlane також легко інтегрується в будь-який CI/CD процес. Єдиний нюанс — він працює на Ruby, але мені вдалося успішно налаштувати його як на macOS, так і на Windows.

Proxyman

Це мій улюблений інструмент для перехоплення, аналізу та модифікації HTTPS-запитів. Хоча в моїх застосунках не так багато мережевої взаємодії, Proxyman зручніший і зрозуміліший, ніж вбудовані інструменти Android Studio.

Figma + iPad з Apple Pencil

Це вже швидше звичка з часів блокнотиків, але я досі люблю швидко накидати UI-прототипи вручну — iPad з Apple Pencil + Figma дають змогу робити це швидко й зручно.

Якщо коротко — варто спробувати

За ці 5 років я створив п’ять застосунків, які принесли мені трохи доходу, сильно прокачали мої навички в розробці, дизайні та маркетингу — і найголовніше, дали багато задоволення від процесу.

Якщо у вас є бажання створити щось своє — обов’язково спробуйте! Це не так складно, як здається, особливо зараз, коли є доступ до AI-інструментів і море відкритої інформації.

Якщо у вас залишились запитання — із задоволенням відповім у коментарях 🙂

👍ПодобаєтьсяСподобалось38
До обраногоВ обраному22
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Дякую за корисну статтю, зберіг собі.

Сьогодні нотіфікейшен в Google Play Console прислали — новий гемор нам готують на 2026 рік: developer verification & register package names for all of the apps that you distribute on certified Android devices..
developer.android.com/developer-verification

Так, в мене в тому році була дилема проблема, я в школі ще створював акаунт як business-unit, і два роки тому вирішив, що пора вирішити цю проблему. Створив новий аккаунт розробника, переніс додатки з одного акаунту на інший + правильно налаштував свої дані і т.д. А от тепер я бачу, що це було не просто так, тому що з цією новою верифікацією, я би вже не зміг пройти її як business unit :)

Привіт Павло! Ти написав гарний гайд по деяким речам було цікаво дізнатися нові речі. Твої додатки нагадують колишні часи коли на андроїді робили щось нове а не просто копіпастили ідеї та рішення. Дякую що поділився рішеннями та досвідом.

Дякую за корисну статтю!
Питання про ліміти ваших можливостей.
Скажіть, за поточної кількості апок, чи є час думати про щось нове та розробляти нове?
Скільки додатків на вашу думку можна ще створити щоб вистачало часу їх підтримувати самостійно?

Дякую вам. На даний момент в мене 5 апок (крім тих що є в статті, є ще одна чисто open-source і дуже вузькоспеціалізована — Rekado). Загалом, часу не вистачає, тому останнім часом я створив собі модуль-бібліотеку, яка шерить основний код між апками і перевів їх всі на Compose. Але також вирішив просто підримувати мінорними апдейтами, більше фокусуватись на Tilla. Також, розробляю POC нової апки чисто для себе поки :) Працюю на вихідних, інколи по вечорам, зараз з AI-агентами стає трошки простіше робити все самому.

Нарешті класна та корисна стаття. І Не про ниття . )

Дуже надихаюче, дякую.
На частину людей з вашого списку в твiторi я вже давно пiдписаний.

Їх насправді більше, але основні в цьому списку.

Дякую, цікава стаття. Свого часу теж писав апки під Android, але постійні зміни політики Google Play мене настільки втомили, що я перестав. AI-переклад я теж використовував для однієї апки: просто скормив чату GPT xml із текстами, і на виході він дав xml із перекладеним текстом потрібною мовою — бомба!
Маю кілька питань, буду вдячний за відповідь:

1)На чому ви запускаєте свої апки під час розробки — на емуляторі чи на реальному девайсі? Емулятор, який запускається в Android Studio, — це просто піпець: краші та часті перезапуски іноді займали більше часу, ніж сам девелопмент.

2)Які рекламні сітки можете порекомендувати, окрім AdMob та Appodeal?

3) Яка конфігурація ПК, на якому ви розробляєте?

Вітаю, через специфіку моїх застосунків (необхідність використання багатьох системних API в Castro і Skit) їх також часто видаляли з Google Play, через введення нових правил і дозволів, але боротись з цим не вийде, тільки слідувати за правилами.

1) Так, до того як трохи оновив свій ПК, користувався тільки Pixel, серія А коштує не дорого і дає можливість нормально тестувати усі нові фічі без необхідності оновлюватись кожні 2 роки.

2) Тут чесно не підкажу, оскільки взагалі не користувався ними.

3) Зараз — Intel 13600K + 32GB оперативки, в принципі всього вистачає, але можливо зараз би ставив одразу 64GB, різниця в ціні там мінімальна і GPU 5070TI дозволяє крутити маленькі LLM локально.

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

Все правда!
Вони постійно якісь проблеми створюють... В 2023 — мудохався с REQUEST_INSTALL_PACKAGES дозволом:
dou.ua/forums/topic/44276
Зараз відразу кілька траблів, основна:
Update your target API level by August 31, 2025 to ensure that your app is available to new users
Це потрібно зробити для всіх апок, у мене їх лише 3 — наразі не проблема.
Але вилізла окрема біда з плагіном cordova-plugin-admobpro, дуже зручний для закидання гугель реклами в HTML5/javascript апки, але зараз він відмовляється працювати з новим SDK — був розрахований на 20.4.0, який застарів і скасований, на порядку денному 23+:
developers.google.com/...​admob/android/deprecation

Ось що я вчасно зробив — це коли у 2020 проплатив акаунт розробника на Google play. А вже за кілька років «корпорація добра» заборонила викладати власні апки в продакшен якщо їх по 2 тижня не тестили в закритому тестуванні дюжина тестувальників(( Але «старим» аккам такий гемор не прикрутили, пощастило :-)

Так, зараз потрібно мати хоча б 10 юзерів тестерів, які допоможуть з запуском апки через Internal Testing.

З приводу постійних оновлень SDK, то я постійно тримаю на девайсі актуальні Developer Preview, щоб тестувати нові версії Android + я створив модуль-бібліотеку з кодом, яку використовую в усіх апках, запостив на Github Packages в Maven репозиторій (приватний), щоб було легше все оновлювати.

Ось свіжачок так сказати)
Требование Google Play к размеру страницы в 16 КБ для приложений Android — Крайний срок: май 2026 года
dou.ua/forums/topic/55034

Дуже цікаво і корисно) прикольно, що такі великі ютубери з півмільйонною аудиторією можуть зробити огляд на твій додаток)

Зараз це не те щоб великі канали, зараз 500к на каналі, це те саме що тисяч 20 на каналі зразка 2012 року. Власне того і реклама у них дешева, бо канал мізерний по сучасним міркам, так ще й з сумнівною конверсією рекламного бюджета в користувачів.

Чудова стаття, дякую!
Єдине маленьке питання тільки є з приводу кількості активних користувачів. Ви пишете про 100к, а потім одразу нижче про 58 тис встановлень, 9 тисяч користувачів щомісяця і 12 тис платних. Якось не складається картинка цілісна(:.

Чисто моя помилка, з початку хотів написати про більше 1 мільйону загальних закачок в тій секції, поправлю :)

Дякую, що ділитесь досвідом, дуже змістовно!

Надихаюче, дякую за статтю!

Підписатись на коментарі