Что такое пассивный доход?
Его можно определить как деньги, получаемые от действий, в которых вы не принимаете активного или прямого участия.
Лично для меня это всегда было связано с использованием преимуществ умения нешаблонно мыслить и зарабатывать деньги. Смогу ли я, разработчик ПО, зарабатывать деньги на том, чему уже научился (предпочтительно без необходимости что-либо делать)?
Заманчиво, не так ли?
Место
Год 2019. Я всё ещё учусь в университете, пробираясь через третий год бакалавриата в Computer Science. В то же время я прохожу стажировку в компании, занимающейся маркетинговой автоматизацией. Поэтому у меня было меньше предметов, чем во всех предыдущих семестрах и больше времени проверить свои знания на практике.
Я работал с компьютерами с очень раннего возраста (и, откровенно говоря, слишком много). Как бы то ни было, с точки зрения разработки ПО все имевшиеся у меня знания были связаны с низкоуровневыми языками (C, ассемблер), высокоуровневыми языками (Java, C#), созданием/дизайном веб-приложений; также у меня имелись знания компьютерных сетей. О, и очевидно, что за все эти годы я получил большой навык «гугления».
Иными словами, у меня не было опыта работы с мобильными приложениями и, в частности, с приложениями для Android.
Исследование
Если загуглить «как зарабатывать разработчику ПО», то в верхних результатах будут следующие варианты:
- Устроиться на работу.
- Фриланс.
- Стать онлайн-преподавателем.
Как уже говорилось, я учился в колледже и проходил стажировку. Поэтому устроиться на работу я не мог. Фриланс мог быть возможен (хотя свободного времени не хватало). Стать онлайн-преподавателем — тоже хорошая альтернатива, но занимающая много времени. Кроме того, мне хотелось пассивного дохода, а необходимость работы для него в течение длительного периода времени было чем-то совершенно противоположным.
Поэтому изменим запрос: «Как разработчику ПО получать пассивный доход»:
- Создать собственное приложение и продавать его.
- Ведение блога.
- Чат-боты.
Всё это отличные идеи, если у вас есть свободное время. Плюс для того, чтобы начала генерироваться прибыль, потребуется очень много времени.
Нет-нет, должен быть другой, более быстрый способ.
Идея
За несколько лет до этого один друг рассказал мне, что многие приложения платят деньги за простой просмотр рекламы. Представьте, каждый раз, когда вы смотрите видео на YouTube, читаете новостной веб-сайт или даже просматриваете сторис в Instagram и появляется реклама… БУМ!.. вы зарабатываете $0,05 (однако для этого вам сначала придётся против своей воли её посмотреть).
Идея проста: ты смотришь рекламу. Однако компания теперь не оставляет все доходы себе, а «делится» с тобой. И ты думаешь:
Хм, если всё так просто, то почему бы не создать своё приложение, не заполнить его рекламой и не зарабатывать деньги? Тебе слабо?
Ну… проблема, разумеется в том, что это не так просто. Исходя из моих исследований на то время, приложения, не имеющие «реального» предназначения и только показывающие рекламу, спустя определённый период времени переставали генерировать деньги разработчикам таких приложений. А поскольку они переставали получать деньги, то переставали платить и тем, кто пользуется их приложениями.
Проблема в том, что реклама ограничена. Один пользователь может посмотреть только определённое количество роликов. Если их используют обманным образом (например, среди прочего, смотрят слишком много с одного устройства), разработчик приложения спустя какое-то время перестаёт получать деньги. И это логично, правда?
Однако я находил приложения, которые пошли по пути «бесполезности». Схема была такой: одно приложение с одной кнопкой: ты нажимал на неё, смотрел рекламу, получал какие-то очки, потом обменивал их на деньги. Вуаля! На следующий день ты получал деньги.
Click Cash — пример приложения для Android, платящего за нажатия на рекламу
Попробовав счастья с несколькими приложениями (некоторые платили мне на PayPal, другие, разумеется, нет), я понял, что мне просто нужно найти подходящее приложение. Приложение, непохожее на эти, потому что эти рано или поздно умирали. И, наконец, мне нужно создать какую-то автоматизацию, симулирующую «поведение обычного пользователя», чтобы генерировать себе пассивный доход.
План
Итак, у меня появился квест: есть идея, нужно лишь найти подходящее приложение для её использования. И я его нашёл!
Однако у неё был другой, более интересный подход. Оно (предположительно) тоже зарабатывало на рекламе и выдавало монеты за простую математическую игру (если ты в неё выигрывал).
Математическую?
Да, всё верно. Ты играешь против других пользователей в матче один на один (длительностью в одну минуту), и тот, кто быстрее сможет решить 20 математических задач, получит 4 очка. В игре были и другие режимы, но в статье я буду рассматривать только этот.
Набрав достаточное количество очков, можно было обменять их на $реальные деньги$ (например, 5000 очков — это $5). Однако была одна тонкость. Удивительно, правда?
Чтобы сыграть в игру один на один, нужно потратить «билеты». А чтобы выигрывать эти билеты, нужно выигрывать в играх. Порочный круг. Кроме того, помните, я выше говорил про рекламу? Разработчику нужно что-то есть. Поэтому после завершения игры нужно посмотреть рекламу (чаще всего длительностью более 30 секунд, а кнопку для её закрытия нужно искать при помощи микроскопа).
Однако это меня не остановило!
Должен быть способ заработать на этом хоть какие-то деньги.
Поразмыслив и проведя вычисления, я кое-что придумал:
Простая диаграмма моего «плана»
Судя по этой диаграмме, если я потрачу 1 час на игру (60 минут, что эквивалентно 60 играм), то заработаю в 4 раза больше от потраченного количества монет. То есть на 60 игр получается 60 x 4 = 240 монет. Затем мне придётся покупать ещё билеты. То есть 240 — 100 = 140 монет. В итоге получается 140 монет в час.
Так как мне нужно было 5000 монет для получения $5 (минимальная сумма), то для зарабатывания такой суммы понадобится 5000 / 140 = 35 часов (или полтора дня). Наверно, вы подумаете:
Всего $5 за 35 часов игры подряд? А что насчёт рекламы? Она тоже занимает время! Ты о ней даже не подумал! Ты что, глупый?
Постойте, дайте мне договорить…
Во-первых, о том, как я решил проблему рекламы, говорится в разделе «Инструменты». Что касается второго пункта, то в игре есть ежедневная таблица лидеров, в которой человек, набравший наибольшее количество побед (первое место) также получает дополнительные монеты.
И… разумеется, им буду я!
Инструменты
Чтобы этот план сработал, мне требовалось два инструмента. Во-первых, как я уже сказал, реклама занимает много времени (по 30 секунд между каждой игрой), из-за чего 35 часов превращаются примерно в 52 часов. Поэтому у меня было несколько вариантов:
- Декомпилировать приложение, избавиться от рекламы и снова его скомпилировать.
- После завершения каждой игры перезапускать приложение.
- Использовать блокировщик рекламы.
Я выбрал блокировщик рекламы.
Во-вторых, для выполнения всех описанных в диаграмме шагов без моего участия мне потребуется бот (пусть я хорош в математике, но не так быстр; к тому же, мне нужны были гарантии выигрыша четырёх монет каждый раз).
▍ Blokada
К счастью, в этом приложении не было детектора блокировщиков рекламы. Я мог воспользоваться инструментом наподобие Blokada для блокировки всех входящих реклам, и играть в игры снова и снова. Если вкратце, это приложение работает как VPN: каждый раз, когда приложение отправляет запрос:
- Он сначала поступает на сервер Blokada.
- А затем, если это не реклама, сервер разрешает ему пройти туда, куда он направлялся.
▍ Automate
Пока это самый лучший из найденных мной инструментов для создания ботов для Android. Он бесплатен, не содержит рекламы и у него есть прекрасное поддерживающее сообщество, очень хорошая структурированная документация и огромное разнообразие тулкитов и конфигураций. С него я и начал свою автоматизацию.
К сожалению, созданного тогда потока у меня не сохранилось. Я попытаюсь рассказать о «блоках», которые использовал для выполнения этой автоматизации. Посмотрите на изображение ниже:
Блоки в приложении Automate
Каждый бот, или «поток» начинается с «блока» под названием «Flow beginning». Далее в зависимости от вашей задачи можно добавлять различные блоки, каждый из которых обладает собственными свойствами. Я опишу те, которые использовал чаще всего: App Start, Interact, Variable Set и For Each.
Приложения Android состоят из «Activity» (действий), а App Start позволяет запускать приложение при конкретном действии. Представим, что экран/окно матча один на один называется «1v1Activity», но когда вы запускаете приложение, нужно сначала пройти «MainActivity». При помощи этого блока можно напрямую открыть конкретное действие и начать работу бота с него.
Следующим важнейшим блоком является Interact. Как понятно из названия, он используется для взаимодействия с интерфейсом пользователя. Например, когда возникает новая задача:
Дуэль один на один в приложении Math Cash
Мы можем выбрать числа 54 и 49, а затем использовать Variable Set для сохранения результата. Удобно в блоке Interact то, что он предоставляет инструмент для исследования всех элементов интерфейса и возвращает XPath элемента, чтобы можно было его исследовать или нажимать.
Наконец, при помощи блока For Each я могу итеративно пройти по результату (в данном случае 54 + 49 = 103) и нажать на кнопки «1», «0», «3» и «Enter» снова при помощи блока Interact.
Всё очень просто!
Если вы не поняли, то не беспокойтесь, самое интересное будет ниже.
▍ Настало время тестирования
Теперь, когда у меня есть готовый бот, можно его протестировать. Я забыл рассказать о забавном моменте: в этом приложении есть «Режим практики», не требующий билетов. Очень забавно, правда? Если вы ещё не поняли иронии, то позвольте мне объяснить!
Если бы этого режима не существовало, то для тестирования бота мне бы пришлось тратить на игру билеты. Проблема в том, что в программировании редко что-то работает с первой попытки. Благодаря этому режиму мне не пришлось тратить все свои билеты на то, чтобы заставить бота работать. Теперь у меня появилась среда для подготовки!
Результаты
Ну ладно, так сколько денег ты заработал?
Прежде чем я отвечу, позвольте сказать, что в конечном итоге всё заработало идеально! И я испытал от этого большое удовлетворение.
Утром я проверял соцсети, занимался повседневными делами, оставив телефон в режиме «Не беспокоить» до конца дня, чтобы боту ничто не мешало (чёрт вас побери люди, отправляющие мне сообщения, я тут пытаюсь денег заработать!). Я запускал поток и он непрерывно работал, играя в игры и зарабатывая монеты; когда у меня оказывалось достаточно монет, я менял их на деньги. На следующее утро я просыпался, проверял аккаунт PayPal и видел следующее:
Вы получили $5
А теперь о важном: суммарно я заработал примерно $25 за одну неделю (5 дней). Учитывая все аспекты, возможно, я мог бы зарабатывать ещё больше, если бы бот работал по 24 часа 7 дней в неделю.
Но не стоит торопиться, ведь, к сожалению, всё хорошее когда-то заканчивается!
Я аккуратно пытался имитировать «поведение обычного пользователя»: не оставлял бот включённым в течение долгого времени и зарабатывал ровно столько очков, сколько нужно было для вывода денег. Я даже немного замедлил бота. потому что он был «слишком» быстрым и выигрывал игру всего за несколько секунд. Проблема заключалась в том, что другие люди тоже использовали ботов, и это превратилось в соревнование — мы пытались сделать своих ботов как можно быстрее.
Вскоре после получения первых платежей я получил письмо примерно такого содержания:
Здравствуйте, [ИМЯ], меня зовут [ИМЯ], я владелец приложения Math Cash. Мы выявили подозрительное поведение на вашем аккаунте. Прекратите использовать бота, или с настоящего времени вы больше не будете получать платежей.
Разумеется, я мог бы быть аккуратнее, или дальше надеяться на удачу, или просто создать новый аккаунт (при этом нужно было бы создать и новый аккаунт PayPal). Несмотря на существование этих вариантов, я решил остановиться. В конечном итоге, мои приоритеты поменялись и теперь цель заключалась не в том, чтобы «заработать деньги на своих знаниях», а «попытаться получить больше знаний об автоматизации».
Конец
Вы можете задаться вопросом:
А как насчёт людей, которые действительно устанавливали приложение, чтобы играть? Ты манипулировал честным приложением в свою пользу!
И вы будете правы. На самом деле, вы не смогли бы выиграть, даже если бы попытались. В приложении уже и так присутствовало множество ботов, поэтому без жульничества нельзя было выиграть ни единой игры. Так настолько ли я плох?
Хотя эта история была короткой, я ещё несколько лет исследовал другие приложения и пытался найти способы получать на них пассивный доход. Некоторые срабатывали, другие нет, но, честно говоря, на самом деле это уже было неважно. Я узнал так много о том, как работают приложения для Android, как изучать их поведения и как выполнять реверс-инжиниринг приложений (чем в конечном итоге и занимаюсь сейчас), что мне кажется, это лучше, чем деньги.
Благодарю за чтение, надеюсь, моя статья вдохновит вас на изучение того, что любопытно и интересно вам.
Пол-лимона подарков от RUVDS. Отвечай на вопросы и получай призы ????