Статей на тему «Техническое задание для разработки Webview приложения» или подобных еще не встречал на арбитражных просторах. Хотя тема довольно горячая. А год-два назад была вообще мега взрывной, когда Facebook любил прилки и давать отливать тысячи, а порой и десятки тысяч баксов с аккаунта. Эх, не поднажал тогда и упустил золотое время. Хотя уже даже тогда самостоятельно разобрался в прилах, заказывал разработку и лил через них траф на дейтинг. Вообщем подумал и решил написать для Вас годную статью. Данная тема все таки еще актуальна, так что надеюсь оцените. Полетели!
Логика работы приложения:
При открытии приложения пользователем отправляется запрос на сервер, передавая данные о часовом поясе устройства, языке устройства, модели устройства, рекламном id устройства, данные акселерометра и заряда батареи. Или другие на ваш выбор. На стороне трекера будете отслеживать и фильтровать трафик. На основании полученных данных сервер дает ответ исходя из которого приложение принимает решение отобразить WebView или экран нативной части приложения.
В качестве сервера обработки можно использовать трекер Binom, Keitaro или написать собственное решение. Также можно использовать базу данных Firebase. Она бесплатная. Работает медленно и передавать в нее лучше только язык устройства. Логика работы с ней состоит в том, что приложение совершает запрос к БД Firebase, передавая язык устройства, а в БД прописано условие, что если язык соответствует указанному вами, то БД отдаст приложению ссылку вашей рекламной кампании которая откроется в свою очередь в WebView браузере.
Для начинающих или не желающих заморачиваться над клоакингом, я бы рекомендовал использовать БД Firebase. По началу чтобы пощупать сойдет. Первое мое приложение было разработано именно с ней. Понравилось что могу в любой момент изменить ссылку рекламной кампании.
Для более серьезных ребят советую использовать именно трекер Binom. Так как в нем есть крутые базы всех существующих ISP операторов. Благодаря им вы с легкостью отсеете любой гугловский трафик на котором сидят модераторы, а также VPN и других провайдеров если появится необходимость. Недавно писал от этом статью. В Кейтаре таких ISP баз нет. Вы можете в нее с помощью костылей подключить общедоступные бесплатные базы, но их качество оставляет желать лучшего. Хотя с другой стороны можно использовать интеграцию с IM KLO или HideClick, но как они будут работать мне не известно.
Теперь перейдем к нюансам приложения.
Если нет сети на устройстве, нужно отобразить нативный экран с всплывающим сообщением: «Для использования приложения, подключитесь пожалуйста к сети». Или любой другой текст на ваш выбор. Главное чтобы пользователь понял что от него требуется. Уведомление должно отображаться до момента когда пользователь не подключиться к сети. После подключения исчезает и приложение отображает или главный нативный экран или WebView.
Если пользователю при первом открытии приложения отобразился экран WebView, то при повторных его входах в приложения ему больше не делать проверку через сервер, а сразу открывать последнюю посещенную им ссылку. Куки разумеется при этом должны всегда сохраняться. Так же проверяться наличие интернета.
Теперь переходим к WebView
В WebView должно корректно работать:
— Полная функциональность Javа Script;
— Сохранение Cookie пользователя;
— Сохранение Кеша;
— Обработка изменения ориентации устройства (поворот экрана);
— При изменении ориентации устройства не перезагружать страницу заново;
— Загрузка файлов (чтобы пользователь мог выбрать какой-то файл и загрузить его на сайт, либо показать на экране);
— Работа кнопки назад и блокировка выхода с приложения при нажатии этой кнопки;
— Полноэкранный медиаплеер (если в web-страницу встроен медиаплеер, необходимо обеспечить возможность его работы в полноэкранном режиме);
— Работоспособность Alert в WebView;
— Размер загружаемых файлов (если нужно передать большие файлы, то данные придется резать и передавать частями);
— Определение состояния сети в JavaScript (делать это нужно постоянно на случай если пропадет сеть а пользователь будет играть в игру то сообщить ему от этом);
— Сохранение последней посещенной ссылки/страницы и открытие ее при повторном входе.
По нативной части:
— Страница проверки на предмет подключения к сети;
— Страница с индикатором загрузки в момент открытия приложения, когда приложение совершает запросы на сервер и ожидает ответ;
— Основная нативная страница. Здесь каждый думает сам что у него там будет.
Так же необходимо не забывать за установку SDK Firebase, Onesignal (для отправки пушей) и Facebook. Или любых других которые необходимые под ваши нужды. И напоследок самое главное. Самостоятельно и очень тщательно проверяйте всю функциональность приложения. Это самый важный пункт! Иначе пожалеете.
Приложения заказывал по такому ТЗ на фрилансе за 50-70$. Разработка 2-4 дня. В стоимость разработки не входит аккаунт Google Play, загрузка и оформление приложения. Этим занимался самостоятельно. Ничего сложного. Надеюсь статься приоткрыла для Вас секрет разработки арбитражных приложений и понимание как составлять техническое задание для разработки Webview приложения. Всем успехов и до скорого!

Добрый день! Слегка не понял, зачем такие сложности с Firebase? Поставил трекер и гоу, там всё настраивается. Искры божией не вижу в сторонней базе (клоачить по нескольким параметрам и не париться?)
Про вес прилки забыли написать. Можно пуши добавить в функционал.
Здравствуйте! Firebase нужен когда допустим у человека нет трекера. Расписал как один из вариантов. За пуши писал. Это Onesignal. Более подробнее за них расписывать не вижу смысла. А вес прилки не проблема в 2021. Разница в конверте между весом 5мб и 35мб будет настолько мизерной, что и не стоит париться.
По поводу сторонней базы. Прилку пробивают боты/модераторы с огромного пула Гугловских IP и не только. У Кейтары этих IP баз нет. У Бинома есть. Когда разрабатывал собственный инструмент для клоакинга приложений, было видно много интересной информации. Так что есть как всегда 2 варианта. Или сделать с говна и палок и лить (как делает большинство арбитражников и разработчиков). Или сделать толково и быть уверенным что возможность пробива минимальная. Я сторонник второго варианта.
Сорри за пуши, не внимательно прочитал.
WebView запрещен в Google Play
Внимательнее читайте политику Google Play