Руководство по интеграции AdWoW Android SDK

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

  • Прежде всего вам необходимо зарегистрироваться в Личном кабинете на портале AdWoW по адресу http://adwow.ru и получить секретный ключ и ключ приложения.

  • Актуальная версия AdWoW iOS SDK всегда доступна в разделе “Разработчикам -> Загрузить SDK” в Личном кабинете.

  • Скачав jar-библиотеку, ее необходимо добавить в свой android-проект. Обычно это папка libs. Если вы используете AndroidStudio, вам может потребоваться осуществить дополнительное действие по подключению библиотеки. В дереве проекта нужно вызвать контекстное меню, кликнув правой кнопкой мыши на файле библиотеки, и выбрать там пункт Add as library.

    Android sdk 1
  • Для полноценного функционирования библиотеки необходимо в файл AndroidManifest.xml добавить слебующие разрешения:

    <!-- AdWow permissions -->
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <!-- END AdWow permissions -->
    <!-- AdWow optional permissions-->
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <!-- END optional AdWow permissions -->
  • AdWoW SDK в максимальной степени оптимизирует свое присутствие в жизненном цикле приложения, избавляя разработчика от необходимости создавать сложный код. Однако от вас потребуется организовать способ уведомления SDK таких событиях как инициализация приложения, запуск и остановка activity.

    Инициализацию SDK целесообразно производить в самом начале жизненного цикла приложения. Лучше всего для этого создать класс-наследник android.app.Application.

    Обратите внимание на переменные AW_APP_KEY и AW_APP_SECRET: их следует инициализировать значениями, скопированными в личном кабинете на портале adwow.ru - это атрибуты вашего приложения в системе AdWoW.

    Далее для удобства можно добавить следующий шаблон класса, который впоследствии будет наследовать все activity вашего приложения, в которые вы планируете интегрировать функционал наград AdWoW.Добавим в проект файл MyApplication.java, содержащий следующий код.

    public class MyApplication extends Application {
    private static final String AW_APP_KEY = "my_app_key";
    private static final String AW_APP_SECRET = "my_app_secret";
    @Override
    public void onCreate() {
    super.onCreate();
    AdWow adwow = AdWow.getInstance().init(this, AW_APP_KEY, AW_APP_SECRET);
    }
    }

    Так же следует указать новый класс в файле AndroidManifest.xml.

    <application
    android:name=".MyApplication"
    android:icon="@drawable/ic_launcher"
    android:label="AdwowSampleInternal"
    android:theme="@style/AppTheme" >

    Обратите внимание на переменные AW_APP_KEY и AW_APP_SECRET: их следует инициализировать значениями, скопированными в личном кабинете на портале adwow.ru - это атрибуты вашего приложения в системе AdWoW.

    Далее для удобства можно добавить следующий шаблон класса, который впоследствии будет наследовать все activity вашего приложения, в которые вы планируете интегрировать функционал наград AdWoW.

    public abstract class AdwowActivity extends FragmentActivity {
    private static final String ADWOW_FRAGMENT_TAG = "adwow_fragment_tag";
    private AdWowFragment adwowFragment;
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    adwowFragment = (AdWowFragment) getFragmentManager().findFragmentByTag(ADWOW_FRAGMENT_TAG);
    if (adwowFragment == null) {
    adwowFragment = new AdWowFragment();
    getFragmentManager().beginTransaction().add(adwowFragment, ADWOW_FRAGMENT_TAG).commit();
    }
    }
    @Override
    protected void onStart() {
    super.onStart();
    AdWow.getInstance().openSession(new Callback() {
    @Override
    public void onFailed(AdWow adwow, Exception exception) {
    }
    @Override
    public void onFinished(AdWow adwow, Unit unit) {
    }
    });
    }
    @Override
    protected void onStop() {
    super.onStop();
    AdWow.getInstance().closeSession(new Callback() {
    @Override
    public void onFailed(AdWow kiip, Exception exception) {
    }
    @Override
    public void onFinished(AdWow adwow, Unit unit) {
    }
    });
    }
    }

    Теперь можно добавлять в проект activity, наследуя их от AdwowActivity

    public class MainActivity extends AdwowActivity

    Если по каким-либо причинам у вас нет возможности организовать все вышеизложенное (например, вас не устраивает необходимость наследования Activity, или использование класса-наследника Application), можно инициализировать модуль Adwow в любой удобной для вас точке кода. Далее, чтобы привязать контекст приложения к модулю AdWow, необходимо указать ему контекст Activity вашего приложения, которое будет вызывать методы сохранения моментов. Это можно сделать с помощью метода setTopActivity класса-синглтона Adwow. Пример:

    public class MainActivity extends Activity {
    //...
    @Override
    protected void onCreate(Bundle savedInstanceState)
    { super.onCreate(savedInstanceState); AdWow.getInstance()).setTopActivity(this); }
    //...
    }

    Сделать это нужно после инициализации модуля AdWow и перед вызовом методов сохранения моментов (saveMoment)

  • На данном этапе интеграции конфигурация жизненного цикла приложения завершена. Можно приступать к реализации вызова метода получения наград.

    Для получения награды следует пользоваться методом saveMoment главного объекта SDK AdWow.

    AdWow.getInstance().saveMoment("Первый уровень пройден", new Callback() {
    @Override
    public void onFailed(AdWow adwow, Exception exception) {
    showAlert("Error saving moment", exception.toString());
    }
    @Override
    public void onFinished(AdWow adWow, Unit unit) {
    unit.show(this);
    }
    );
  • Следует учесть один нюанс, касающийся названий моментов. Когда вы передаете строку в метод сохранения saveMoment, например “уровень 1 пройден”, она будет отображена в форме получения награды пользователю. Форма награды будет отображать сообщение вида “Поздравляем! вы заслужили награду за [ваше название момента]”. Вы всегда можете поменять заголовок момента в личном кабинете портала AdWoW. При этом название “уровень 1 пройден” менять внутри приложения не следует.

  • Мы предоставляем несколько тестовых приложений с открытым исходным кодом. Вы можете скачать в Личном кабинете тестовое приложение для анализа и отладки интеграции AdWoW.