Вывод определённых блоков для разных устройств

K
На сайте с 10.01.2015
Offline
110
1084

Всем доброго времени суток!

Стоит задача выводить определённый блоки для Android, iPad, iPhone и Windows Phone.

Как это выглядит на практике:

На сайт заходит посетитель с iPhone и видит рекламный баннер специально для «айфона». Аналогичный сценарий со всеми другими устройствами. Как это проще всего реализовать?

Все в голову приходит скрипт, который определяет устройство, и выдает ему определённый div блок в коде.

I
На сайте с 23.02.2015
Offline
45
i4e
#1

Не совсем понятно, что именно требуется - отдавать разные страницы, или отображать по-разному? Это можно сделать как посредства PHP, так и JavaScript, а в зависимости от требований, можно и CSS попробовать.

S
На сайте с 17.12.2010
Offline
37
#2

Используй и анализируй элемент $_SERVER['HTTP_USER_AGENT']

Например, если заходят на сайт с Андроид устройства - то там проверяшь вхождение строки "Android", ну и тогда выводишь нужный тебе рекламный баннер...

irisat
На сайте с 20.03.2012
Offline
197
#3

Вариантов больше чем достаточно, попробуйте воспользоваться поиском!)

Вот пример из выдачи:

Device.js позволяет осуществлять проверки типа устройства (iOS, Android, Blackberry, Windows, Firefox OS), а так же его ориентацию (книжная или альбомная), и тип (планшет или мобильный телефон).

http://ruseller.com/lessons.php?id=1896

LocalBitcoins (https://goo.gl/1Yxi8M) | Бот обменник (https://goo.gl/bPTaiF) - Покупка и продажа bitcoins! Биржа криптовалют №1 (https://goo.gl/6r6icz) - более 350 пар!
Поцан
На сайте с 20.01.2010
Offline
53
#4

Согласен с irisat, есть специальные библиотеки, которые сами распознают и платформу, и браузер, и еще много всего на основе user_agent.

Например есть вот такая хорошая библиотека для php c гитхаба:

https://github.com/cbschuld/Browser.php

С её помощью определяете устройство и выводите нужную рекламу в зависимости от этого.

Web. Dev.
K
На сайте с 10.01.2015
Offline
110
#5

Спасибо, буду разбираться.

---------- Добавлено 22.12.2015 в 05:05 ----------

spektron:
Используй и анализируй элемент $_SERVER['HTTP_USER_AGENT']

Например, если заходят на сайт с Андроид устройства - то там проверяшь вхождение строки "Android", ну и тогда выводишь нужный тебе рекламный баннер...

Неплохое решение! Но как мне в таком случае выводить блок например для Android устройств?

<div>Тут код баннера</div>

Поцан
На сайте с 20.01.2010
Offline
53
#6
Kepus:
Неплохое решение! Но как мне в таком случае выводить блок например для Android устройств?
<div>Тут код баннера</div>

С помощью библиотеки из моего поста выше, это делалось бы вот так:

require_once('Browser.php');

$browser = new Browser();
if( $browser->getPlatform() == Browser::PLATFORM_ANDROID)
{
//часть кода, которая будет выводиться только для Android устройств
}

Предварительно поместив вот этот файл, Browser.php, в ту же папку, где будет вставлен этот код:

https://github.com/cbschuld/Browser.php/tree/master/lib

Этот Browser() класс сам разбирает за Вас переменную $_SERVER['HTTP_USER_AGENT']. Можете, конечно, в целях эксперимента сами попробовать разобрать $_SERVER['HTTP_USER_AGENT'].

K
На сайте с 10.01.2015
Offline
110
#7
Поцан:
С помощью библиотеки из моего поста выше, это делалось бы вот так:
require_once('Browser.php');

$browser = new Browser();
if( $browser->getPlatform() == Browser::PLATFORM_ANDROID)
{
//часть кода, которая будет выводиться только для Android устройств
}

Предварительно поместив вот этот файл, Browser.php, в ту же папку, где будет вставлен этот код:
https://github.com/cbschuld/Browser.php/tree/master/lib

Этот Browser() класс сам разбирает за Вас переменную $_SERVER['HTTP_USER_AGENT']. Можете, конечно, в целях эксперимента сами попробовать разобрать $_SERVER['HTTP_USER_AGENT'].

Подключил все, как вы описали, но при вставке кода рекламного кода между {} появляется белая страница.

На то место, где мне нужно вывести различные баннеры для Android и iOS я вставил такой код:

<?php require_once('Browser.php');

$browser = new Browser();
if( $browser->getPlatform() == Browser::PLATFORM_ANDROID)
{
<a href="https://site.ru"><img src="https://site.ru/images/banner.png" alt=""></a>
}
?>

Что я делаю не так?

Алексей Барыкин
На сайте с 04.02.2008
Offline
272
#8

Строку '<a href="https://site.ru"><img src="https://site.ru/images/banner.png" alt=""></a>' надо не просто бездумно вкорячивать в код, а выводить с помощью echo\print

примерно так:

echo '<a href="https://site.ru"><img src="https://site.ru/images/banner.png" alt=""></a>';
K
На сайте с 10.01.2015
Offline
110
#9
Алексей Барыкин:
Строку '<a href="https://site.ru"><img src="https://site.ru/images/banner.png" alt=""></a>' надо не просто бездумно вкорячивать в код, а выводить с помощью echo\print
примерно так:

echo '<a href="https://site.ru"><img src="https://site.ru/images/banner.png" alt=""></a>';

Спасибо! Все получилось! Тему можно закрывать.

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