Выдача определенного окна для мобильных пользователей

12
S
На сайте с 28.08.2013
Offline
22
666

Добрый день!

Интересует вопрос, который даже не знаю как гуглить. Интересует способ, при помощи которого выводят окно с определенной информацией для мобильных посетителей. Например, многи етак рекламируют свое приложение для сайта. Заходишь на статью прочитать, но сначала перед тобой окно с ссылкой на скачку официального приложения этого сайта и рядом кнопка "Вернуться на сайт". Кликаем по нему - загружается дальше та страница, которую ты хотел прочитать. Такое окно показывается только один раз в день на одного посетителя.

Про смарт баннер от Apple знаю. Такое не нужно

Как такое реализовано?

Спасибо!

dimsog
На сайте с 08.08.2011
Offline
149
#1

Смотрите на UserAgent PHP или JavaSript кодом. Там все будет указано.

Например так:


$userAgent = $_SERVER["HTTP_USER_AGENT"];

и затем поиском по строке смотрите, есть ли там записи про OperaMini, iOS, Android и т.д.

ihor vps -> ihc.ru
S
На сайте с 28.08.2013
Offline
22
#2
dimsog:
Смотрите на UserAgent PHP или JavaSript кодом. Там все будет указано.
Например так:

$userAgent = $_SERVER["HTTP_USER_AGENT"];

и затем поиском по строке смотрите, есть ли там записи про OperaMini, iOS, Android и т.д.

Спасибо!

Но в этом случае при обновлении страницы или клике на другую статью опять происходит проверка и опять будет данная страница с предложением скачать приложение?

dimsog
На сайте с 08.08.2011
Offline
149
#3

Ну да. В помощь переменная $_SESSION или куки, в которых будет указан счетчик, и если, например, он равен 1 - клиент рекламу посмотрел, 0 - еще нет. И с каждым переходом/обновлением увеличиваете этот счетчик на +1.

S
На сайте с 28.08.2013
Offline
22
#4
dimsog:
Ну да. В помощь переменная $_SESSION или куки, в которых будет указан счетчик, и если, например, он равен 1 - клиент рекламу посмотрел, 0 - еще нет. И с каждым переходом/обновлением увеличиваете этот счетчик на +1.

Сколько примерно может стоить такой код?

P
На сайте с 05.03.2009
Offline
45
#5

опять опоздал

staskenig:
опять происходит проверка

Значит нужно запомнить результат.

Сессии и cookies предназначены для хранения сведений о пользователях при переходах между несколькими страницами.

Делаю сайты любой сложности с 2004 года. Качественно, ответственно, честно.
dimsog
На сайте с 08.08.2011
Offline
149
#6

Обратитесь в раздел программирование. Я бы вам помог, но пока по горло заказов. Стоит недорого, там работы на пол часа максимум.:)

S
На сайте с 28.08.2013
Offline
22
#7
dimsog:
Обратитесь в раздел программирование. Я бы вам помог, но пока по горло заказов. Стоит недорого, там работы на пол часа максимум.:)

Спасибо!:)

S
На сайте с 28.08.2013
Offline
22
#8
dimsog:
Смотрите на UserAgent PHP или JavaSript кодом. Там все будет указано.
Например так:

$userAgent = $_SERVER["HTTP_USER_AGENT"];

и затем поиском по строке смотрите, есть ли там записи про OperaMini, iOS, Android и т.д.

Подскажите тогда по этому вопросу.

Есть вот такой код

<?php

if (strstr($_SERVER['HTTP_USER_AGENT'], 'iPhone') && !isset($_COOKIE['_prm_'])) {

setcookie('_prm_', 'no_promo', time() + 60);

header('Location: http://site.ru/promo.php?return_url=' . $_SERVER['REQUEST_URI']);

exit();

}

?>

Все работает. Теперь мне нужно к этому коду добавить и определение iPad. Как его вставить?

Я пробовал такой:

<?php

if (strstr($_SERVER['HTTP_USER_AGENT'], 'iPhone') && !isset($_COOKIE['_prm_'])) {

setcookie('_prm_', 'no_promo', time() + 60);

header('Location: http://site.ru/promo.php?return_url=' . $_SERVER['REQUEST_URI']);

else if (strstr($_SERVER['HTTP_USER_AGENT'], 'iPad') && !isset($_COOKIE['_prm_'])) {

setcookie('_prm_', 'no_promo', time() + 60);

header('Location: http://site.ru/promo2.php?return_url=' . $_SERVER['REQUEST_URI']);

exit();

}

?>

но он не работает.

domen4you
На сайте с 08.03.2013
Offline
53
#9

использовать внешнюю библиотеку, например Mobile_Detect.php

---------- Добавлено 19.02.2015 в 12:00 ----------

а в коде выше у вас ошибки со скобками

S
На сайте с 28.08.2013
Offline
22
#10
domen4you:
использовать внешнюю библиотеку, например Mobile_Detect.php

---------- Добавлено 19.02.2015 в 12:00 ----------

а в коде выше у вас ошибки со скобками

Не хочу внешнюю.

Такой код верный?

<?php

if (strstr($_SERVER['HTTP_USER_AGENT'], 'iPhone') && !isset($_COOKIE['_prm_'])) {

setcookie('_prm_', 'no_promo', time() + 60);

header('Location: http://site.ru/promo.php?return_url=' . $_SERVER['REQUEST_URI']);

}

else if (strstr($_SERVER['HTTP_USER_AGENT'], 'iPad') && !isset($_COOKIE['_prm_'])) {

setcookie('_prm_', 'no_promo', time() + 60);

header('Location: http://site.ru/promo2.php?return_url=' . $_SERVER['REQUEST_URI']);

exit();

}

?>

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий