Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- При запуске открывается 4 вкладки (только 1 юзер с них видит).
- Вкладка №1 (всегда работает в example.com).
- Подгружается страница по адресу http://example.com/Application/Index/Index
- Пользователь все время будет оперировать в этой вкладке.
- Цвет статус-бара берется с Cookies (название Cookie записи StaturBarColor).
- StatusBarColor может принимать следующие значения: цвет в формате HEX (например, #000000) и значение Transparent.
- Если значение Transparent - статус-бар прозрачный, в ином случае меняем цвет статус бара на прозрачный.
- Вкладка №2.
- Контент подгружается в этой вкладке только при условии что во вкладка №1 была вызвана JavaScript-функция OpenNewTab.
- Данная функция будет иметь следующий вид: OpenNewTab(Url, Orientation, Proxy), где:
- Url - Url страницы, которую нужно подгрузить.
- Orientation - ориентация приложения. Может принимать значения Portrait (портретная ориентация экрана), Landscape (альбомная ориентация экрана).
- Proxy - если данный параметр был передан, все данные в этой вкладке должны загружаться через переданный Proxy-сервер (формат hostname:port).
- Статус бар прозрачный. Справа сверху выводим крестик для закрытия данного таба.
- Вкладка №3.
- Данная вкладка никогда не отображается пользователю.
- Контент в этой вкладке загружается только при условии что во вкладке №1 была вызвана JavaScript-функция GoAuth.
- Данная функция будет иметь следующий вид: GoAuth(Login, Password), где:
- Login - Логин, который ввел пользователь.
- Password - пароль, который ввел пользователь.
- После вызова данной функции во вкладке №1 вызывается вызываем страницу http://example.com/Auth с которой далее происходит редирект, далее дожидаемся окончания всех редиректов и вставляем введенные логин и пароль в поля:
- Login вставляем в поле “email”, Password вставляем в поле “pass” и сабмитим форму (именно отправляем форму, а не отправляем данные post’ом на определенный адрес).
- После этого нажимаем на кнопку “Разрешить”.
- После этого страница сделает редирект по адресу http://website.com/blank.html#blablabla.
- Забираем все что после якоря и вызываем JavaScript-функцию AuthorizationComplete(Data) во вкладке №1,
- где Data это все, что мы получили после якоря на странице http://website.com/blank.html#blablabla
- Вкладка №4
- Периодически (см. далее) загружаем данную страницу http://example.com/Checker и дожидаемся окончания редиректов.
- После окончания делаем клик по загруженному контенту (а именно по ссылкам).
- После перехода по ссылке совершаем рекурсивные переходы с периодичностью N секунд. Всего должно быть X рекурсивных переходов.
- Данную операцию повторяем Y раз в день с случайной периодичностью (к примеру через 3 часа, затем через 5, затем через час), но не более Y раз в сутки.
- После завершения рекурсивных переходов переходим на пустую страницу (about:blank) чтобы вкладка не висела в памяти.
- Уведомления (не Push-уведомления, а Notifications). Я осознаю что если приложения будет закрыто, уведомления не будут поступать.
- Каждых 2 минуты отправляем запрос (методом GET) по адресу http://example.com/Push и разбираем jSON следующего вида:
- {“Text”:”Something Notification Text”,”Date”:”1234567890”} где:
- Text - текст уведомления, который нужно вывести.
- Date - дата в формате UNIXTIMESTAMP.
- Если при выполнении запроса Date больше чем Date с предыдущего запроса - отправляем уведомление, если меньше - не отправляем уведомление.
- Звук уведомления в приложении (в формате MP3). Также должна быть вибрация.
- Гео. Периодически (каждых 20 минут) отслеживание его устройства.
- После этого отправляем запрос на http://example.com/Geo?Lat=<LAT>&Lng=<LNG> где:
- LAT это LAT координата, LNG это LNG координата.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement