Описание AdWoW Android SDK

  • Данный документ содержит базовый комплект описания работы с AdWoW Android SDK. В качестве шаговой инструкции следует использовать «Руководство по интеграции AdWoW Android SDK».

  • После регистрации вашего Android приложения в Личном кабинете портала http://adwow.ru для вас будет сгенерирована пара ключей appKey и appSecret. Значения этих ключей необходимо передать методу инициализации SDK

    @param context (Application): Контекст приложения. В большинстве случаев this.
    @param appKey (String): Ключ вашего приложения в системе AdWoW.
    @param appSecret (String): Секретный ключ вашего приложения в системе AdWoW
    AdWow adwow = AdWow.getInstance().init(context, "app_key", "app_secret");

    Для инициализации SDK достаточно импортировать всего один пакет ru.adwow.sdk.AdWow

  • При каждом вызове методов onStart и onStop ваших activity необходимо вызывать соответствующие методы объекта главного класса SDK openSession и closeSession соответственно.

    AdWow.openSession
    Производит открытие сессии AdWoW
    @param callback (Callback): Методы интерфейса Callback onFinished и onFailed вызываются в соответствии с результатом попытки открытия сессии.
    AdWow.getInstance().openSession(new Callback() {
    ...
    });
    AdWow.closeSession
    Производит закрытие сессии AdWow
    @param callback (Callback): Методы интерфейса Callback onFinished и onFailed вызываются в соответствии с результатом попытки закрытия сессии.
    AdWow.getInstance().closeSession(new Callback() {
    ...
    });

    Главный объект SDK AdWoW имеет возможность осуществлять уведомление приложения о событиях, таких как, показ и скрытие Модуля, Нотификации и Модальной формы. Для получения уведомлений о данных событиях существует интерфейс SessionListener. Любой заинтересованный объект (например, Activity) может подписаться на получение уведомлений о событиях AdWoW. Для этого необходимо реализовать интерфейс SessionListener и его методы.

    События при работе с сессиями осуществляют уведомления объектов, реализующих интерфейс SessionListener с помощью слелующих методов:

    	//Сессия открыта. Если произошла ошибка, то параметр exception содержит детали ошибки
    void onSessionOpened(AdWow adwow, Unit unit, Exception exception);
    //Изменение состояния сессии
    void onSessionStateChanged(AdWow adwow);
    //Сессия закрыта. Если произошла ошибка, то параметр exception содержит детали ошибки
    void onSessionClosed(AdWow adwow, Exception exception);
  • Для контроля процесса получения награды следует так же объявлять переменные класса Callback. Существует два метода для сохранения момента.

    Сохранить момент

    @param momentName (String): Уникальный идентификатор момента. При обработке запроса в системе AdWoW будет автоматически создан момент с указанным  идентификатором для дальнейшего мониторинга. Данное значение определяется разработчиком (вами).
    @param callback (Callback): Методы интерфейса Callback onFinished и onFailed вызываются в соответствии с результатом попытки сохранения момента.
    AdWow.getInstance().saveMoment("Первый уровень пройден", new Callback() {
    @Override
    public void onFailed(AdWow adwow, Exception exception) {
    showAlert("Error saving moment", exception.toGetMessage());
    }
    @Override
    public void onFinished(AdWow adWow, Unit unit) {
    unit.show(this);
    };
    })

    Сохранить момент со значением

    @param momentName (String): Уникальный идентификатор момента. При обработке запроса в системе AdWoW будет автоматически создан момент с указанным  идентификатором для дальнейшего мониторинга. Данное значение определяется разработчиком (вами).
    @param value (int): Данное значение анализируется системой AdWoW, и если оно больше или равно пороговому значению, заданному в Личном кабинете для данного момента, то пользователю будет выдана награда.
    @param callback (Callback): Методы интерфейса Callback onFinished и onFailed вызываются в соответствии с результатом попытки сохранения момента.AdWow.getInstance().saveMoment("Набрано 105 баллов", 105, new Callback() {
    @Override
    public void onFailed(AdWow adwow, Exception exception) { showAlert("Error saving moment", exception.getMessage());
    }
    @Override
    public void onFinished(AdWow adWow, Unit unit) {
    unit.show(this);
    }
    });
  • Объект AdWoW позволяет указывать информацию о пользователе без участия в данном процессе самого пользователя. Например, если вы уже ранее получали от пользователя email, вы можете присвоить его соответствующему свойству объекта AdWoW. Форма получения награды в этом случае уже будет содержать поле для ввода электронной почты, заполненное полученным ранее значением.

    Сохранить момент со значением

    • Email

      @property (String) userEmail Устанавливает email пользователя, что приводит к заполнению поля email в форме награды, демонстрируемой пользователю.

      AdWow.getInstance().setUserEmail("john@doe.com")

    • Пол

      @property (int) userGender Данное поле указывает пол пользователя, что позволяет системе AdWow подбирать наиболее релевантные награды. Принимает значения AdWow.AW_GENDER_UNKNOWN, AdWow.AW_GENDER_MALE, AdWow.AW_GENDER_FEMALE

      AdWow.getInstance().setUserGender(AdWow.AW_GENDER_MALE)

    • День рождения

      @property (Date) userBirthday Данное поле указывает возраст пользователя, что позволяет системе AdWow подбирать наиболее релевантные награды.

      AdWow.getInstance().setUserBirthday("03/16/80")

  • Модуль – это специальная сущность для работы с модулем награды. Типичный жизненный цикл модуля: Вызов saveMoment -> Показ Модуля -> событие Форма награды показана -> событие Форма награды скрыта -> событие Модуль скрыт

    Объект Модуля осуществляют уведомления объектов, реализующих интерфейс SessionListener с помощью следующих методов:

    //Модуль представлен на экране
    void onUnitShow(Unit unit);
    //Модуль скрыт
    void onUnitDismiss(Unit unit);
  • Notification. Данный класс реализует промежуточное представление награды. Представляет собой прямоугольную форму, всплывающую снизу или сверху экрана. После 5 секунд бездействия со стороны пользователя она исчезает. Если пользователь нажал на нотификацию, запускается загрузка модальной формы.Объект Нотификации осуществляют уведомления объектов, реализующих интерфейс SessionListener с помощью следующих методов:

    //Нотификация представлена на экране
    void onNotificationShow(Notification notification);
    //Нотификация скрыта по истечению таймаута
    void onNotificationDismiss(Notification notification);
    //Нотификация скрыта путем нажатия
    void onNotificationDismissWithClick(Notification notification);
  • Объект Form представляет собой полноэкранную форму награды AdWow. Объект Формы осуществляют уведомления объектов, реализующих интерфейс SessionListener с помощью слелующих методов

    //Нотификация представлена на экране
    void onFormShow(Form form);
    //Нотификация скрыта по истечению таймаута либо пользовователь отказался от награды
    void onFormDismiss(Form form);
  • AdWoW SDK позволяет подключать собственные стили для уведомлений, показываемых пользователю. Данный подход в значительной степени увеличивает совместимость внешнего стиля AdWoW с вашим приложением, а так же уровень User Experience.

    Для показа индивидуальной нотификации необходимо воспользоваться интерфейсом ru.adwow.sdk.CustomNotificationInterface. Объект, предоставляющий индивидуальную нотификаию, должен реализовывать данный интерфейс, к также содержать метод:

    android.view.View onCustomNotificationRequest(ru.adwow.sdk.Notification notification); // должен возвращать объект-наследник класса adroid.view.View

    Метод вызывается с параметром notification, с помощью которого можно идентифицировать Нотификацию, например, используя значение свойства tag, которое устанавливает так же разработчик.

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