This post is also available in: Английский
Четыре причины, по которым вы можете выбрать открытое решение вместо популярного:
- Вы — энтузиаст интернет-рекламы и вам интересно разбираться в том, как все работает, и делать все самому.
- Вы не можете воспользоваться услугами AdMob или других сервисов, так как не проходите по требованиям, которые они предъявляют к приложениям или к рекламным материалам.
- Вы хотите разместить рекламный сервер на собственной инфраструктуре. Например, если приложение будет работать внутри закрытой сети, не имеющей доступа в Интернет, или вы просто не доверяете Google.
- Вам необходимо сильно модифицированное решение, которое должно удовлетворять нестандартным требованиям к таргетингу, отчетности и т.д.
Для того, чтобы упростить встраивание рекламы из OpenX в ваше Android приложение, мы написали виджет, который можно встроить в любое приложение, используя стандартные средства, предоставляемые платформой. Вы можете загрузить архив, включающий исходные коды виджета, документацию и примеры использования, здесь или на labs.denivip.ru.
Компонент был успешно протестирован совместно с сервером OpenX версии Community Edition 2.8.8-rc6 (самая последняя на данный момент), но должен так же работать и с более ранними версиями. По сути он представляет собой компонент WebView, к которому добавлен удобный программный интерфейс для загрузки рекламы из OpenX. Чтобы использовать его, достаточно добавить описание виджета в XML-файл layout-а для вашего activity. Например, так:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:ox="http://denivip.ru/schemas/android/openx/0.1" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <ru.denivip.android.widgets.OpenxAdView android:id="@+id/adview" android:layout_width="88px" android:layout_height="31px" ox:delivery_url="@string/openxDeliveryUrl" ox:zone_id="3" /> <ListView android:layout_width="match_parent" android:id="@+id/contactList" android:layout_height="wrap_content" android:layout_weight="1"/> </LinearLayout>
Кроме всех стандартных параметров компонента View, так же в описании layout-а для компонента OpenXAd можно указать следующие параметры, влияющие на доставку баннеров:
- delivery_url Путь к серверу OpenX и директории на сервере, в которой хранятся скрипты доставки рекламы. Например: openx.example.com/delivery.
- js_tag_url Имя скрипта OpenX, отвечающего за доставку рекламного кода с использование стандартного JavaScript тэга. В большинстве случаев этот параметр не нужно менять, его значение по-умолчанию ajs.php совпадает со именем скрипта из стандартной установки OpenX.
- zone_id Идентификатор зоны OpenX, из которой будет производиться выбор рекламных материалов. Этот параметр является обязательным, если только вы не используете метод загрузки рекламы load(int), в котором он указывается непосредственно.
- has_https Если взаимодействие с сервером OpenX происходит по протоколу HTTPS, то значение этого параметра необходимо установить в true. По-умолчанию: false.
- source Этот параметр не обязательно указывать. Его можно использовать для таргетинга рекламы.
Все эти параметры, так же как и добавление самого компонента OpenXAd, можно задать не только через файл layout-а, но и непосредственно в коде приложения.
В результате на экране activity вашего приложения появится область заданного размера, содержащая баннер, загруженный из сервера OpenX (см. скриншот вначале статьи). Так же как и при внедрении на веб-страницу, на этот баннер можно кликнуть и перейти на сайт рекламодателя.
Ждем ваших отзывов о виджете OpenXAd в комментариях.