Page tree
Skip to end of metadata
Go to start of metadata

Последовательность интеграции SDK

Для новых разработчиков действует акция "Гарантированная выплата от 10000 ₽ до 100000 ₽ и более"

Наша техподдержка окажет оперативную помощь на любом этапе. Пишите и звоните.

  1. Зарегистрируйтесь как разработчик.
    В личном кабинете: 
    1. Узнайте свой DeveloperID и скачайте SDK
    2. Зарегистрируйте свое приложение (требует проверки техподдержкой)
       

      Поддержка версий Android

      Функциональность SDK обеспечивается в версиях Android c 4.0.3 по 5.1.+.

      SDK НЕ препятствует работе родительского приложения при интеграции в более широкий диапазон версий, то есть может быть интегрирован в приложения, поддерживающие версию Android 6.+ или ниже 4.0.3.

      Совместимость с другими рекламными SDK

      Appodeal
      Во избежание возможных конфликтов зависимостей размещайте зависимости Appodeal в файле build.gradle раньше, чем зависимость 402 targeting.

     

  2. Выполните следующие шаги по интеграции

    1. Вариант #1:

      Добавьте в gradle file новый репозиторий:

      allprojects {
          repositories {
              jcenter()
              maven {
                  url  "http://maven.402targeting.com/public/production"
              }
          }
      }


      Добавьте следующую зависимость в gradle file:

      compile ('com.targeting402:sdk:SDK_VERSION@aar') {
          transitive = true
      }

      где SDK_VERSION - версия SDK, которую интегрируете.


      Добавьте следующие зависимости в gradle file для обоих вариантов:

      compile 'com.google.android.gms:play-services-location:+'
      compile 'com.google.android.gms:play-services-maps:+'
      

      Если вы используете Proguard в приложении, то для обеспечения работоспособности SDK добавьте в список файлов с Proguard-правилами этот

      proguard-rules-targeting-402.pro.

      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro', 'proguard-rules-targeting-402.pro'

       

      Мы прикладываем файл с правилами к AAR библиотеке, но в отдельных случаях этого недостаточно.

      Никаких модификаций манифеста вашего приложения не требуется.

    2. Вариант #2:

      В Android Studio перейдите File -> New Module -> Import .JAR/.AAR и импортируйте файл sdk-SDK_VERSION.aar.
      Скачать файл sdk-SDK_VERSION.aar можно по адресу репозитория.


  3. При запуске приложения необходимо вызвать функцию SDK Init со своим DeveloperID (если это первый вызов для конкретного экземпляра приложения, то произойдет его регистрация на сервере). Если к моменту вызова Init техподдержка не успела активировать Ваше приложение, сервер вернет ошибку 403. 

    Инициализация SDK
    Context context = YourActivity.this; // OR getApplicationContext()
    String developerId = "A394GH10-4836-488A-B7C2-78908A77BED2;
    Targeting_402.init(this, developerId);
  4. Определите способ уведомления пользователя о наличии рекламного предложения:

    В отличие от других рекламных сетей мы не запрещаем разработчикам мотивировать пользователей на клики по нашей рекламе, а даже наоборот - приветствуем это

    1. SimpleDisplayMode (действует по умолчанию, требует вызова Init, а также оповещений SDK об изменениях в жизненном цикле приложения через notifyAppVisible и notifyAppInvisible). SDK самостоятельно отображает уведомление о наличии рекламного предложения и, при клике на него, сам экран рекламного предложения. Показ уведомления возможен в формате InApp HotButton или System HotButton (рекомендуется) или Notification (не рекомендуется). Также возможно отображение экрана рекламного предложения и без предварительного уведомления пользователя (не рекомендуется).

      1. Задайте рекомендуемые настройки:

        Рекомендуемая настройка AndroidManifest.xml
        <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
        <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
        
        Рекомендуемая настройка Java
        Targeting_402.setInvisibleAppAllowedHotType(SystemHotButton);
        Targeting_402.setShowHotOfferImmediate(false);
      2. Оповещайте SDK об изменениях в жизненном цикле приложения.

        Изменения в жизненном цикле приложения
        @Override
        protected void onResume()
        {
            super.onResume();
            Targeting_402.setVisibleActivity(YourActivity.this);
            Targeting_402.notifyAppVisible();
        }
        
        @Override
        protected void onStop()
        {
            super.onStop();
            Targeting_402.notifyAppInvisible();
        }

        Вызов метода setVisibleActivity необходим, если настройки AndroidManifest.xml отличаются от рекомендуемых.

      3. Опционально. При помощи setHotButtonPosition установите местоположение HotButton на экране по умолчанию. Отдельный пользователь может выполнить Drug&Drop кнопки в удобное ему место экрана и это положение будет запомнено на все его последующие сеансы.

        Пример
        Targeting_402.setHotButtonPosition(25, 73);

        SimpleDisplayMode (SDK default mode) - подробное описание возможных режимов

    2. ProDisplayMode - позволяет разработчику определить собственные форматы и режимы показа рекламы на базе SDK. 
      Условия работы: дополнительно к вызову Init разработчик создает класс, реализующий интерфейс HotStateListener.

      Реализация интерфейса HotStateListener
      public abstract class BaseActivity
              extends AppCompatActivity
              implements Targeting_402.HotStateListener
      {
      	private ViewGroup mMainLayout;
      	private View mHotButton;
      	private View mHotButtonUrgent;
       
      	@Override
      	public void onHotNeedAppear(HotState hotState)
      	{
          	// Your HotButton replacement widget should appear as View instance	
      		mMainLayout.addView(mHotButton);			
      		hotState.hotButtonAppeared(mHotButton);
      	}
       
      	@Override
          public void onHotReminderNeedAppear(HotState hotState)
          {
          	// Your HotButton replacement widget should appear as View instance	
      		mMainLayout.addView(mHotReminder);			
      		hotState.hotReminderAppeared(mHotReminder);    
          }
      
      	@Override
      	public void onHotNeedDisappearSoon(HotState hotState)
      	{
      		// We are assuming when Hot need disappear soon 
      		// it should be some View effect or rather different widget
          	mMainLayout.addView(mHotButtonUrgent);
      		hotState.hotButtonUrgentAppeared(mHotButtonUrgent);
      	}
      
      	@Override
      	public void onHotNeedDisappear(HotState hotState)
      	{
          	// Remove all widgets concerning a Hot
      		mMainLayout.removeView(mHotButton); // OR remove mHotButtonUrgent
      	}
       
      	@Override
      	public void onResume()
      	{
          	super.onResume();
      		// Allows SDK to show HotOffer 
      		// if app not able to show SYSTEM_ALERT_WINDOWs
      		Targeting_402.setVisibleActivity(YourActivity.this);
      	}
      }


      Далее разработчик передает SDK экземпляр данного класса через статический метод setHotStateListener

      Передача SDK экземпляра HotStateListener
      Targeting_402.setHotStateListener(this);


      По событию onHotNeedAppear или onHotNeedDisappearSoon разработчик размещает в UI собственную HotButton, HotBanner или иное.
      SDK по мере изменения ситуации генерирует следующие события:

      1. onHotNeedAppear - есть рекламное предложение, необходимо отобразить в UI HotButton.

        mMainLayout.addView(mHotButton);

         

      2. onHotReminderNeedAppear - настало время напомнить пользователю об имеющейся скидке.

        mMainLayout.addView(mHotReminder);	


      3. onHotNeedDisappearSoon - действие рекламного предложения заканчивается по определенным условиям (рекомендуется отразить это в оформлении HotButton путем затухания и/или мигания).

        mMainLayout.addView(mHotButtonUrgent);

         

      4. onHotNeedDisappear - рекламное предложение устарело, необходимо скрыть HotButton в UI.

        mMainLayout.removeView(mHotButton);

        ProDisplayMode - подробное описание возможных режимов

  5. Настоятельно рекомендуется. Передайте SDK accessToken для того чтобы SDK мог получить базовый профиль пользователя из соцсетей или передайте эти данные самостоятельно при помощи функции REST API SocialNetworkDataPost (данный способ требует активации техподдержкой).

    Передача токена соцсети
    private class VkCallback
            implements VKCallback<VKAccessToken>
    
    {
        @Override
        public void onResult(VKAccessToken token)
        {
    		new SocialNetworkAccess()
    			.passTokenData(SocialNetwork.VK, token.accessToken, token.userId);        
        }
    
        @Override
        public void onError(VKError error)
        {
    		// handle auth error
        }
    }
  6. Произведите распространение приложения, отслеживайте данные в личном кабинете, при необходимости обратитесь в техподдержку для проверки корректности интеграции.

Предупреждение

КАТЕГОРИЧЕСКИ ЗАПРЕЩЕНО

Вносить любые изменения в код SDK.

  1. Сервер выполняет проверку всех присылаемых SDK данных на основе следующей информации:

    1. принцип "перепроверка любой информации от SDK"
    2. выявление приложений с выбросами CTR на основе BigData
    3. анализ откликов от пользователей
    4. сверки с торговыми точками
    5. другое
  2. В случае нарушений интеграции недобросовестные разработчики могут быть блокированы, начисленные средства будут заморожены. 

Возможности для отладки интеграции SDK

Получение тестовой скидки

 В функциональность SDK заложена возможность получения тестовой скидки.

Тестовая скидка имеет сокращенный жизненный цикл и не влечет за собой никаких финансовых операций.

Получение тестовой скидки
Targeting_402.getTestSuite()
			 .getDebugHot();

В зависимости от настроек SDK после вызова метода возможны 2 варианта:

  1. В случае SimpleDisplayMode на экране появится HotButton или уведомление. 

  2. В случае ProDisplayMode, тестовая скидка будет передана экземпляру HotStateListener через метод onHotNeedAppear.

 

  • No labels