Вы находитесь на странице: 1из 11

Мануалы и рекомендации для

мобильных приложений -
Андроид и Айос

1.Сохранение куки, логинов пользователей

2. Другие рекомендации:

3. Отключение рекламного баннера на сайте (no-smart):

4.Повышение активности игроков – интеграция пуш-уведомлений от CRM

5.Требования к приложению

6. Структура диплинков

7. Визуализация схем
1.Сохранение куки, логинов пользователей
Ниже инструкция по доработке iOs и Android приложений для вебмастеров, для
более корректной работоспособности сайта (сохранение логина после закрытия
приложения, фиксация куки, корректность открытия внешних ссылок на проекте
(twitter, vk, ok.ru и тд.))

iOS:
Сохранение cookie при загрузке страницы в локальное хранилище:

HTTPCookieStorage.shared.setCookie(LocalStoredCookie)

Когда открыто приложение и юзер в казино, в случае закрытия аппки, перед ее


деинитом сохраняем для дальнейшего восстановления куки из WebView под
ключевым именем "remember_me" - ищем В Shared Cookie Storage и подставляем
куку:

if let cookies = SessionHelper.shared.cookies {


request.allHTTPHeaderFields = HTTPCookie.requestHeaderFields(with: cookies)
}

Android:
Сохранение cookie при загрузке страницы в локальное хранилище:

private fun syncCookie(url: String?) {


url ?: return

val cookieKey = "remember_me"


thread {
val manager = CookieManager.getInstance()
val cookies = manager.getCookie(url)
if (cookies?.contains(cookieKey) == true) {
val arr = cookies.split("; ")
val pair = arr.firstOrNull { s -> s.startsWith(cookieKey) }
val value = pair?.split("=")?.lastOrNull()

value?.let { hash ->


val uri = URL(url)

cookieStore!!.domain = uri.host
cookieStore!!.mainCookie = "${cookieKey}=$hash"
}
}
}
}

override fun onPageFinished(view: WebView?, url: String?) {


super.onPageFinished(view, url)

syncCookie(url)
}
2. Другие рекомендации:

1. webView должна сохранять куки и сессию


2. settings for webView:
webView.getSettings().setDomStorageEnabled(true);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setUserAgentString(webView.getSettings().getUserAgentString() + "
MobileAppClient/Android/0.9");
3. cookies от сторонних ресурсов:
if ( Build.VERSION.SDK_INT >= 21 ) {
CookieManager.getInstance().setAcceptThirdPartyCookies(webView, true);
}
4. для обработки кликов на почту, телефон и телеграмм используем в классе наследнике
WebViewClient, метод shouldOverrideUrlLoading:

if ( url.startsWith("mailto") ) {
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("plain/text");
intent.putExtra(Intent.EXTRA_EMAIL, new String[] { url.replace("mailto:", "") });
main.startActivity(Intent.createChooser(intent, "Mail to Support"));
} else if ( url.startsWith("tel:")) {
Intent intent = new Intent(Intent.ACTION_DIAL);
intent.setData(Uri.parse(url));
main.startActivity(intent);
} else if (url.startsWith("https://t.me/joinchat")) {
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
main.startActivity(intent);
} else {
Map headers = new HashMap<>();
if (lastUrl != null) {
headers.put("Referer", lastUrl);
}
view.loadUrl(url, headers);
lastUrl = url;
}
5. активность в которой находится webView переопределяем метод:
@Override
public void onBackPressed() {
if (webView.canGoBack()) {
webView.goBack();
} else super.onBackPressed();
}
3. Отключение рекламного баннера на сайте
(no-smart):
Необходимо добавить еще один параметр к ссылке редиректора:

&no-smart=1

Наглядно это будет выглядеть вот так (пример):


https://wantwin2019.com/?s=35&ref=wp_w11111p43_name​&no-smart=1​&url=register

Этот параметр будет убирать лишнюю информацию для игрока (например, рекламный баннер о
возможности скачать приложение).

ЛИБО, альтернативный метод:

Внести корректировки в приложение:

UserDefaults.standard.register(defaults: ["UserAgent": userAgentString + " MobileAppClient/iOS/1.0"])


no-smart=1

Для Вебвью:
Android:
webView.getSettings().setDomStorageEnabled(true);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setUserAgentString(webView.getSettings().getUserAgentString() + "
MobileAppClient/Android/0.9");

iOS:
MobileAppClient/iOS/1
UserDefaults.standard.register(defaults: ["UserAgent": userAgentString + " MobileAppClient/iOS/1.0"])
4.Повышение активности игроков – интеграция
пуш-уведомлений от CRM
Для стимулирования игроков на внесение депозитов, у CRM-отдела казино разработана серия
пуш-рассылок, адаптированную под специфику и класс каждого игрока.

Чтобы подписать игрока на эти пуш-уведомления, нужно перевести юзера на url вида:

● x-app-token-id​- токен для отсылки (обязательный параметр)


● x-app-name​- имя пакета приложения (обязательный параметр)
● redirect ​- указывает куда перевести юзера после сохранения информации (опциональный
параметр, должен быть URL-закодирован, например функцией urlencode() в php )
● refCode ​- нужный рефкод

1. ​
Заходим в ​console.firebase.google.com​и открываем сам проект и его настройки или создаем
проект (если нет проекта).

2.​Переходим в раздел ​Сloud Messaging​и копируем “Ключ сервера” он же “server key” .


3​
. Для интеграции вам нужно скинуть нам:
1. applicationId ​= название пакета приложения
2. Server key​(он же “Ключ сервера”)

4.​К себе в проект забираете ​google-services.json​файл

5. ​
Получите push_token и далее, к ссылке на продукт добавляем хвост из utm меток:

&url=push-notification/mobile-application/save?x-app-token-id=​$push_token​&x-app-name=​$APP_ID​&r
edirect=%2F%23popup-login

⭐также, вот инструкция от Google, как подключить FireBase в Ваш проект:


https://firebase.google.com/docs/android/setup
5.Требования к приложению
● Поддержка актуальной версии Android или iOS.
● Доступно для следующих стран СНГ: Россия, Казахстан, Беларусь, Молдова,
Армения, Азербайджан, Кыргызстан, Таджикистан, Туркменистан, Узбекистан.
● Доступно для следующих стран Прибалтики: Латвия, Литва, Эстония.
● Пожизненное кеширование ссылки оффера (вебмастера будут рассчитывать на
доходимость трафика (в т.ч. RS).
● Диплинки
● Вебвью на базе Chrome, чтобы пользователь мог использовать опцию входа с
помощью соцсетей (https://developer.chrome.com/multidevice/webview/overview).
● Подходит для прямого налива трафика с Google Adwords UAC (удаленная
установка/замена ссылки в приложении для прямого скачивания с Google Play и
AppStore).
● Трекер ивентов в вебвью (FB-pixel для трафика из ФБ, Google Analytics для
трафика из адвордс).
● Рассылки пушей через FireBase.
● Возможность показывать унику преленд при первом запуске, а при
последующих главную проекта.
● Совместимость с Google Analytics
(https://developers.google.com/analytics/devguides/collection/android/v4)
● Совместимость с Google Tag Manager
(https://developers.google.com/tag-manager/android/v5).
● Размер приложения - желательно от 10Мб.
● Основная ориентация - вертикальная + поддержка горизонтальной ориентации.
● При первом запуске приложения у пользователя – желательно экран с
анимированной загрузкой, чтобы скрыть работу по проверке пользователя.
● Разрешение приложения в Google Play Store:
○ Местоположение (Доступ к примерному местоположению по
координатам сети.)
○ Другие
■ Неограниченный доступ к Интернет;
■ Просмотр сетевых подключений;
■ Отключение спящего режима;
■ Play Install Referrer API;
■ Просмотр подключения Wi-Fi;
■ Запуск при включении устройства;
■ Получение данных из Интернета.
Оформление приложения в сторе:

● Графика обязательно должна быть с открытыми авторскими правами на


изменение и редактирование или созданная лично вами.
● Графика на основании топа гемблинговых приложений (по запросам: казино,
слоты, игровые автоматы и т.п.), либо персонажей игровых слотов и
развлекательных заведений: Вегас, пираты, сокровища, фрукты, животные,
колесо Фортуны, монеты, драгоценные камни, атрибуты лакшери-лайф.
● В описании и заголовке желательно БЕЗ слов “казино”, “слоты” и т.п..
● Возрастное ограничение - минимальное.
● Описание – пример:
○ Новый симулятор слотов!
○ Самые классные слоты в одном приложении! Легко установить и
невозможно забыть! Классический интерфейс в сочетании с
индивидуальным и неповторимым дизайном всеми любимых слотов
создают атмосферу радостной игры! Простые действия приводят к
наивысшим результатам! Устанавливай игру и тебя ждет море
радостных эмоций!. ПРИМЕЧАНИЕ: Это НЕ азартная игра на реальные
деньги.
6. Структура диплинков
Формат диплинка:
app://name?s=​*номер_сайта*​&lp=*и
​ мя_ленда*​&us=wp_w*в
​ ебмастер*​p*о
​ ффер*​&md=*м
​и
н_деп*​&sub=*т​рекер*

либо переменные через слеши в том же порядке


app://name/*​номер_сайта*​/*и
​ мя_ленда*​/*в
​ ебмастер​/*​оффер*​/*м
​ ин_деп*​/*т​рекер*

Диплинк должен распарситься в реферальную ссылку:


https://99winner.com/?s=*​номер_сайта*​&ref=wp_w*в
​ ебмастер*​p*​оффер*​_*т​рекер*​&url=r
egister

Всего 6 переменных:
● site=35 - номер сайта
● lp=0 - имя ленда (0 = без ленда)
● us=wp_w32296 - айди вебмастера
● p43 - номер оффера
● &md=50 - минимальный депозит
● sub=ad1 - трекер/сабайди

Если в диплинке параметр lp=​*​имя_ленда* не равен нулю, значит пробрасываем на


преленд:
https://yourpromooffer.com/*​имя_ленда*​/?refCode=wp_w*​вебмастер*​p*о
​ ффер*​_*т​рекер*
&md=*м ​ ин_деп*
(функционал ленда не обязателен, но желателен, так как повышает конверт и доход
соответственно).

Примечание: домен редиректора (99winner.com) и домен лендинга


(yourpromooffer.com) указаны в качестве примера. Каждому разработчику будут
выданы индивидуальные домены. Также необходимо учитывать что домены могут
быть внесены в черные списки провайдеров, в связи с этим должна оставаться
возможность их замены.
7. Визуализация схем

Вам также может понравиться