Техническое задание для разработки Webview приложения

Статей на тему "Техническое задание для разработки 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 приложения. Всем успехов и до скорого!