Как использовать AdWhirl с неподдерживаемой рекламной компанией? - PullRequest
1 голос
/ 24 сентября 2011

Кто-нибудь знает, как работает AdWhirl?

Я настроил свое пользовательское событие для Greystripe, в котором инициализирую SDK, если он еще не был инициализирован, и обновляю BannerView, но я не вижу, чтобы пользовательское событие вызывалось. Поэтому мой главный вопрос: как и когда AdWhirl вызывает пользовательское событие? Какие пайки и ролловеры? Я ничего с ними не сделал (в основном потому, что не знаю, зачем они мне нужны. Что с ними делает AdWhirl?)

Кроме того, как я могу контролировать, когда AdWhirl обновляет мой баннер? Я хотел бы связать обновление с действием кнопки.

Последние два дня я непрерывно искал в Интернете и читал множество учебных пособий и примеров классов Java, которыми делятся люди, но ни один из них не сработал. Похоже, что AdWhirl застаивается. Мне так непонятно, как работает AdWhirl за пределами этого: он является посредником между приложением и всеми рекламными возможностями, которые вы хотите использовать в своем объявлении. Это слишком высокое понимание для меня, чтобы двигаться вперед. (

Ответы [ 2 ]

2 голосов
/ 25 сентября 2011

Вы прочитали вики-страницу , которая описывает, как использовать пользовательские события? Вы в основном создаете пользовательское событие в интерфейсе бэкенда, которое ведет себя как другая рекламная сеть, и вы можете настроить его трафик. Затем вы можете реализовать имя функции, которое вы назвали в бэкэнде. Единственная неинтуитивная часть заключается в том, что вам нужно реализовать AdWhirlInterface для прослушивания пользовательского события, что означает создание метода adWhirlGeneric (). Хотя этот метод может быть пустым, я не вижу, чтобы он вызывался при создании собственного тестового события. Наконец, не забудьте установить AdWhirlInterface.

Итак, предположим, что на бэкэнде вы создали сеть с:

    Name: Test Network
    Function Name: testEvent

и дал ему трафик (я рекомендую дать ему 100% трафика при тестировании), тогда ваш код будет выглядеть примерно так:

public class MyActivity extends Activity {
...
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    ...
  }
  ...

  public void testEvent() {
    // Place event code here.
    Log.d("Cust_Network", "Cust network got called!");
  }
}

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

Объект рациона заполняется данными из данных конфигурации. Каждый рацион представляет рекламную сеть и имеет ключи, которые представляют отдельные идентификаторы рекламной сети, весовые проценты, заданные в бэкэнде, и приоритет обратной засыпки. Приоритет обратной засыпки - это сетевой заказ, который AdWhirl будет запрашивать, если исходный запрос не был выполнен. Этот процесс прохождения приоритета обратной засыпки называется опрокидыванием. Вам нужно будет немного узнать об опрокидывании при реализации собственного пользовательского события.

Упомянутая вики-страница содержит следующие рекомендации для добавления к вашему пользовательскому событию:

    //  In your custom event code, you'll want to call some of the below methods.
    //
    //  On success:
    //  this.adWhirlLayout.adWhirlManager.resetRollover();
    //  this.adWhirlLayout.rotateThreadedDelayed();
    //
    //  On failure:
    //  this.adWhirlLayout.rolloverThreaded();

Если ваше пользовательское событие правильно выбирает объявление, вам нужно сбросить порядок ролловера (чтобы следующий запрос имел правильный порядок обратной засыпки) и вызвать rotateThreadedDelayed (), чтобы обновление происходило автоматически через определенное время Вы указали на заднем конце. Если запрос объявления не удался, вам нужно вызвать rolloverThreaded (), чтобы AdWhirl мог выполнить процедуру опрокидывания, чтобы проверить другие настроенные рекламные сети на предмет рекламы.

1 голос
/ 10 февраля 2012

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

Библиотека - AdMAL (уровень абстракции посредничества объявлений), которая доступна в репозитории github.com под лицензией Apache 2.0 с открытым исходным кодом: https://github.com/marcosiino/AdMAL

Используя AdMAL, вы можете легко внедрить AdWhirl в свои приложения как для поддерживаемой, так и для неподдерживаемой сети (интеграция проще, чем реализация AdWhirl SDK). На самом деле он поддерживает только iOS (он разработан в Objective-C), но я планирую портировать на Android в ближайшие месяцы.

Я запустил AdMAL для своих собственных целей, а затем решил выпустить его для широкой публики по лицензии с открытым исходным кодом несколько дней назад. Надеюсь, это поможет! Я призываю других разработчиков улучшить библиотеку и внедрить поддержку новых сетей, чтобы это могло принести пользу всем.

...