1.1.0 • Published 1 year ago

cordova.plugin.yabbiads v1.1.0

Weekly downloads
-
License
Copyright 2022. Y...
Repository
github
Last release
1 year ago

YabbiAds Cordova Plugin

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

Версия релиза 1.1.0 | Дата релиза 20.04.2023

Минимальные требования:

  • Используйте Android API level 19 (Android OS 4.4) и выше.
  • iOS 12.0 или выше.
  • Используйте XCode 13 и выше.

Демо приложение

Используйте наше демо приложение в качестве примера.

Установка SDK

Установите плагин в ваш проект. Для этого используйте в терминале команду написанную ниже.

 cordova plugin add cordova.plugin.yabbiads

Теперь наш плагин установлен и готов к использованию.

Инициализация SDK

Импортируйте YabbiAds.

var YabbiAds = cordova.require('cordova.plugin.yabbiads.YabbiAdsPlugin');

Сбор данных пользователя

GDPR и CCPA

GDPR - Это набор правил, призванных дать гражданам ЕС больше контроля над своими личными данными. Любые издатели приложений, которые созданы в ЕС или имеющие пользователей, базирующихся в Европе, обязаны соблюдать GDPR или рискуют столкнуться с большими штрафами

Для того чтобы YabbiAds и наши поставщики рекламы могли предоставлять рекламу, которая наиболее релевантна для ваших пользователей, как издателю мобильных приложений, вам необходимо получить явное согласие пользователей в регионах, попадающих под действие законов GDPR и CCPA.

Установка разрешения на сбор данных

Если пользователь дал согласие на сбор данных, установите setUserConsent в true

YabbiAds.setUserConsent(true);

Работа сторонних рекламных сетей

Для подключения сторонних рекламных сетей следуйте инструкциям по ссылке.

Для работы сторонних рекламных сетей необходимо добавить идентификаторы для каждой рекламной сети.

// Установите для показа полноэкранной рекламы Яндекса
YabbiAds.setCustomParams("yandex_interstitial_id", "замените_на_свой_id");

// Установите для показа рекламы с вознаграждением Яндекса
YabbiAds.setCustomParams("yandex_rewarded_id", "замените_на_свой_id");

// Установите для показа рекламы от IronSource
YabbiAds.setCustomParams("iron_source_app_id", "замените_на_свой_id");

// Установите для показа полноэкранной рекламы IronSource
YabbiAds.setCustomParams("iron_source_interstitial_placement_id", "замените_на_свой_id");

// Установите для показа рекламы с вознаграждением IronSource
YabbiAds.setCustomParams("iron_source_rewarded_placement_id", "замените_на_свой_id");

// Установите для показа рекламы от Mintegral
YabbiAds.setCustomParams("mintergral_app_id", "замените_на_свой_id");
YabbiAds.setCustomParams("mintergral_api_key", "замените_на_свой_id");

// Установите для показа полноэкранной рекламы Mintegral
YabbiAds.setCustomParams("mintergral_interstitial_placement_id", "замените_на_свой_id");
YabbiAds.setCustomParams("mintergral_interstitial_unit_id", "замените_на_свой_id");

// Установите для показа рекламы с вознаграждением Mintegral
YabbiAds.setCustomParams("mintergral_rewarded_placement_id", "замените_на_свой_id");
YabbiAds.setCustomParams("mintergral_rewarded_unit_id", "замените_на_свой_id");

Используйте метод setCustomParams до вызова метода initialize.

Инициализация

Теперь YabbiAds готова к инициализации. Используйте код ниже, чтобы SDK заработал в вашем проекте.

YabbiAds.initialize('publisher_id','interstitial_id', 'rewarded_id');
  • publisher_id - идентификатор издателя. Обязателен для заполнения.
  • interstitial_id - идентификатор полноэкранной рекламы. Может оставаться пустой строкой.
  • rewarded_id - идентификатор полноэкранной рекламы с вознаграждением. Может оставаться пустой строкой.
  1. Замените publisher_id на идентификатор издателя из личного кабинета.
  2. Замените interstitial_id на ключ соответствующий баннерной рекламе из личного кабинета.
  3. Замените rewarded_id на ключ соответствующий видео с вознаграждением из личного кабинета.

Если вы не используете один из типов рекламы, вставьте вместо его идентификатора пустую строку ''.

Ниже представлен полный код.

Мы рекомендуем вызывать инициализацию SDK в вызове слушателя deviceready.

document.addEventListener('deviceready', onDeviceReady, false);

var YabbiAds;

function onDeviceReady() {
    YabbiAds = cordova.require('cordova.plugin.yabbiads.YabbiAdsPlugin');
    
    YabbiAds.setCustomParams("yandex_interstitial_id", "замените_на_свой_id");
    YabbiAds.setCustomParams("yandex_rewarded_id", "замените_на_свой_id");

    YabbiAds.setCustomParams("iron_source_app_id", "замените_на_свой_id");
    
    YabbiAds.setCustomParams("iron_source_interstitial_placement_id", "замените_на_свой_id");
    YabbiAds.setCustomParams("iron_source_rewarded_placement_id", "замените_на_свой_id");

    YabbiAds.setCustomParams("mintergral_app_id", "замените_на_свой_id");
    YabbiAds.setCustomParams("mintergral_api_key", "замените_на_свой_id");

    YabbiAds.setCustomParams("mintergral_interstitial_placement_id", "замените_на_свой_id");
    YabbiAds.setCustomParams("mintergral_interstitial_unit_id", "замените_на_свой_id");

    YabbiAds.setCustomParams("mintergral_rewarded_placement_id", "замените_на_свой_id");
    YabbiAds.setCustomParams("mintergral_rewarded_unit_id", "замените_на_свой_id");
    
    YabbiAds.setUserConsent(true);
    
    YabbiAds.initialize("publisher_id", "interstitial_id", "rewarded_id");
}

Режим отладки

В режиме отладки SDK логирует ошибки и события. По умолчанию выключен.

Для включения режима отладки используйте метод enableDebug.

YabbiAds.enableDebug(true);

Управление рекламой

Типы рекламы

Вы можете подключить 2 типа рекламы в свое приложение.

  • Полноэкранная реклама - баннер на весь экран, который можно закрыть через несколько секунд.
  • Полноэкранная реклама с вознаграждением - видео, после просмотра которого пользователю можно выдать награду.

Для удобного использования типов рекламы создайте переменную AdType.

Эта переменная будет использоваться для работы с плагином.

const AdType = {
    INTERSTITIAL: 1, // Полноэкранная реклама
    REWARDED: 3, // Полноэкранная реклама с вознаграждением
};

Загрузка рекламы

Для загрузки рекламы используйте код представленный ниже.

Перед загрузкой мы рекомендуем проверять что рекламу можно загрузить.

  • Для полноэкранной рекламы.

    var canLoadAd = YabbiAds.canLoadAd(AdType.INTERSTITIAL);
    
    if(canLoadAd) {
        YabbiAds.loadAd(AdType.INTERSTITIAL);
    }
  • Для полноэкранной рекламы с вознаграждением.

    var canLoadAd = YabbiAds.canLoadAd(AdType.REWARDED);
    
    if(canLoadAd) {
        YabbiAds.loadAd(AdType.REWARDED);
    }

Показ рекламы

Для показа рекламы используйте код представленный ниже.

Перед показом мы рекомендуем проверять что реклама загружена и готова к просмотру.

  • Для полноэкранной рекламы.

    var isAdLoaded = YabbiAds.isAdLoaded(AdType.INTERSTITIAL);
    
    if(isAdLoaded) {
        YabbiAds.showAd(AdType.INTERSTITIAL);
    }
  • Для полноэкранной рекламы с вознаграждением.

    var isAdLoaded = YabbiAds.isAdLoaded(AdType.REWARDED);
    
    if(isAdLoaded) {
        YabbiAds.showAd(AdType.REWARDED);
    }

Уничтожение непоказанной рекламы

Если рекламу больше нет необходимости хранить в памяти, удалите ее используя следующий метод.

  • Для полноэкранной рекламы.

    YabbiAds.destroyAd(AdType.INTERSTITIAL);
  • Для полноэкранной рекламы с вознаграждением.

    YabbiAds.destroyAd(AdType.REWARDED);

Отслеживание статуса рекламы.

Для отслеживания статуса рекламы необходимо добавить слушатели событий, на каждый из доступных статусов.

  • Для полноэкранной рекламы.

    window.addEventListener('onInterstitialLoaded', function (adInfo) {
        // вызывается когда реклама загружена и готова к показу.
    });
    window.addEventListener('onInterstitialLoadFailed', function (adInfo) {
        // вызывается если в загрузке рекламы произошла ошибка.
        // узнайте подробнее об ошибке используя параметр adInfo.error.
    });
    window.addEventListener('onInterstitialShown', function (adInfo) {
        // вызывается когда начался показ рекламы.
    });
    window.addEventListener('onInterstitialShowFailed', function (adInfo) {
        // вызывается если при показе рекламы произошла ошибка.
        // узнайте подробнее об ошибке используя параметр adInfo.error.
    });
    window.addEventListener('onInterstitialClosed', function (adInfo) {
        // вызывается когда реклама была закрыта пользователем.
    });
  • Для полноэкранной рекламы с вознаграждением.

    window.addEventListener('onRewardedLoaded', function (adInfo) {
        // вызывается когда реклама загружена и готова к показу.
    });
    window.addEventListener('onRewardedLoadFailed', function (adInfo) {
        // вызывается если в загрузке рекламы произошла ошибка.
        // узнайте подробнее об ошибке используя параметр adInfo.error.
    });
    window.addEventListener('onRewardedShown', function (adInfo) {
        // вызывается когда начался показ рекламы.
    });
    window.addEventListener('onRewardedShowFailed', function (adInfo) {
        // вызывается если при показе рекламы произошла ошибка.
        // узнайте подробнее об ошибке используя параметр adInfo.error.
    });
    window.addEventListener('onRewardedClosed', function (adInfo) {
        // вызывается когда реклама была закрыта пользователем.
    });
     window.addEventListener('onRewardedFinished', function (adInfo) {
        // вызывается когда реклама закончилось.
    });

Подготовьте ваше iOS приложение к публикации

Info.plist

Для более эффективного таргетинга рекламы вы можете добавить в свой Info.plist проекта следующие ключи:

NSUserTrackingUsageDescription - Начиная с iOS 14 использование IDFA требует разрешения от пользователя. Добавление описания поможет объяснить пользователю необходимость данного разрешения.

NSLocationWhenInUseUsageDescription - Необходимо добавлять если в вашем приложении можно использовать данные геолокации.

В файле Info.plist нажмите Add+ в любом поле первой колонки. Добавьте Privacy - Tracking Usage Description. В качестве его типа во второй колонке выберите String. Добавьте описание, которое поможет пользователю понять для чего необходимо разрешение.

Нажмите Add+ в конце строки Privacy - Location When In Use Usage Description. В качестве его типа во второй колонке выберите String. Добавьте описание, которое поможет пользователю понять для чего необходимо разрешение.

Вы можете добавить ключ непосредственно в файл Info.plist с помощью следующего кода:

<key>NSUserTrackingUsageDescription</key>
<string>We need this permission for better ad targetting</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>We need this permission for better ad targetting</string>

AppStore

При загрузке вашего приложения в App Store, вам требуется обновить настройки рекламного идентификатора (Advertising Identifier IDFA), чтобы соответствовать рекламной политике Apple.

  1. Откройте раздел Рекламный идентификатор.
  2. Выберите Да на панели справа.
  3. Активизируйте Размещение рекламы в приложении.
  4. Отметьте галочку подтверждения под Настройка ограничения трекинга в iOS.

Подготовьте ваше Android приложение к публикации

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

Если вы не используете местоположения как одну из основных функций вашего приложения:

  • Добавьте следующий код в AndroidManifest.xml вашего приложения:
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" tools:node="remove" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" tools:node="remove" />
  • Обновите приложение в Google Play. В процессе публикации убедитесь, что в Google Play Console нет предупреждений о наличии разрешения местоположения.

Если ваше приложение использует местоположение, как одну из основных функций:

  • Заполните форму декларации разрешений на местоположение в Google Play Console. Подробнее о форме декларации вы можете прочитать здесь.
  • Обновите приложение в Google Play. В процессе публикации убедитесь, что в Google Play Console нет предупреждений о наличии разрешения местоположения.

Возможные ошибки

iOS

  • WKJavaScriptController does not specify a Swift version and none of the targets.

    Для устранения ошибки введите в терминале команду cordova prepare. Затем перейдите в папку platforms/ios. И сделайте pod install.

  • Ошибка при запуске Symbol not found:

    Перейдите в свой Pods таргет. Выберите из списка WKJavaScriptController. Перейдите во вкладку Build Settings и найдите в поиске параметр Build Libraries for Distribution. Установите значение Yes.

    Если другие ваши зависимости не конфликтуют с параметром Build Libraries for Distribution вы можете добавить следующий код в свой Podfile проекта:

    post_install do |installer|
        installer.pods_project.targets.each do |target|
            target.build_configurations.each do |config|
                config.build_settings['BUILD_LIBRARY_FOR_DISTRIBUTION'] = 'YES'
            end
        end
    end

    Это выставит значение Yes у параметра Build Libraries for Distribution для всех ваших pod-ов.

1.1.0

1 year ago

1.0.6

1 year ago

1.0.5

1 year ago

1.0.4

1 year ago

1.0.3

1 year ago

1.0.2

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago