Перед началом работы
SDK Vungle разработан и протестирован до API версии 30, Android 11.
Требования
- Для интеграции требуется аккаунт Vungle, поэтому, если вы еще это не сделали, создайте аккаунт Vungle и создайте в своем аккаунте новое приложение Android или Amazon. Инструкции по установке мест размещения на панели управления Vungle приведены в разделе Добавление приложений и мест размещения нашей статьи Использование панели управления издателя.
- Android 4.0 (Ice Cream Sandwich - API версии 14 или выше)
- Amazon OS 5.4 или выше
- Ваша платформа должна быть AndroidX на SDK Android 6.5.1 или выше
Скачать SDK
Скачайте SDK Vungle для Android или Amazon: https://publisher.vungle.com/sdk/sdks/android
Для справки: Пример приложения и Java Doc
Пример приложения: При интеграции пользуйтесь предоставленным нами примером приложения: https://github.com/Vungle/Android-SDK
JavaDoc: https://vungle.github.io/vungle-android-sdk/javadoc
Шаг 1. Добавление SDK Vungle в проект
SDK Vungle можно интегрировать либо как зависимость Gradle, либо вручную, используя интеграцию JAR или AAR.
// API version compatibility
minSdkVersion 14
compileSdkVersion 30
targetSdkVersion 30
Gradle
build.gradle
на уровне проекта и убедитесь, что данные JCenter соответствуют указанным ниже:allprojects {
repositories {
jcenter()
}
}
build.gradle
на уровне приложения для своего приложения и добавьте зависимости компиляции в раздел dependencies
.
buildscript {
repositories {
jcenter()
}
}
dependencies {
// Vungle SDK
implementation 'com.vungle:publisher-sdk-android:6.9.1'
implementation 'androidx.core:core:1.3.2'
implementation 'androidx.localbroadcastmanager:localbroadcastmanager:1.0.0'
// When appcompat is being used, core and localbroadcastmanager are the dependencies
// that is getting included
// implementation 'androidx.appcompat:appcompat:1.2.0'
// Recommended for SDK to be able to get Android Advertising ID
implementation 'com.google.android.gms:play-services-basement:17.5.0'
implementation 'com.google.android.gms:play-services-ads-identifier:17.0.0'
}
JAR
-
Download the Vungle SDK and unzip it. From the
libs
folder, copy all the.jar
files, and add them to your projectlibs
folder:vungle-android-sdk-6.9.1.jar
gson-2.8.6.jar
okhttp-3.12.12.jar
okio-1.15.0.jar
- Откройте файл
build.gradle
на уровне приложения для своего приложения и добавьте другие зависимости в разделdependencies
.dependencies { // Vungle SDK implementation files('libs/vungle-android-sdk-6.9.1.jar') // Required Third-party Dependencies implementation files('libs/gson-2.8.6.jar') implementation files('libs/okhttp-3.12.12.jar') implementation files('libs/okio-1.15.0.jar') implementation 'androidx.core:core:1.3.2' implementation 'androidx.localbroadcastmanager:localbroadcastmanager:1.0.0' // When appcompat is being used, core and localbroadcastmanager are the dependencies // that is getting included // implementation 'androidx.appcompat:appcompat:1.2.0' // Recommended for SDK to be able to get Android Advertising ID implementation 'com.google.android.gms:play-services-basement:17.5.0' implementation 'com.google.android.gms:play-services-ads-identifier:17.0.0' }
- Обновите свой
AndroidManifest.xml
, добавив следующие строки и присвоив имя элемента приложения имени класса своего приложения:<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="30" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="18" /> <application android:fullBackupContent="@xml/vungle_backup_rule" android:hardwareAccelerated="true" android:supportsRtl="true" > <activity android:name="com.vungle.warren.ui.VungleActivity" android:configChanges="keyboardHidden|orientation|screenSize|screenLayout|smallestScreenSize|uiMode" android:launchMode="singleTop" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" /> <receiver android:name="com.vungle.warren.NetworkProviderReceiver" android:enabled="false" > <intent-filter> <action android:name="android.net.conn.CONNECTIVITY_CHANGE" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </receiver> <provider android:name="com.vungle.warren.utility.VungleProvider" android:authorities="${applicationId}.vungle-provider" android:exported="false" /> </application>
- Добавьте правила исключений Vungle, чтобы разрешить использование
fullBackupContent
.
AAR
-
Download the Vungle SDK and unzip it. From the
libs
folder, copy SDK.aar
and all.jar
dependencies, and add them to your projectlibs
folder:vungle-android-sdk-6.9.1.aar
gson-2.8.6.jar
okhttp-3.12.2.jar
okio-1.15.0.jar
- Откройте файл
build.gradle
на уровне приложения для своего приложения и добавьте другие зависимости в разделdependencies
.dependencies { // Vungle SDK implementation files('libs/vungle-android-sdk-6.9.1.aar') // Required Third-party Dependencies implementation files('libs/gson-2.8.6.jar') implementation files('libs/okhttp-3.12.12.jar') implementation files('libs/okio-1.15.0.jar') implementation 'androidx.core:core:1.3.2' implementation 'androidx.localbroadcastmanager:localbroadcastmanager:1.0.0' // When appcompat is being used, core and localbroadcastmanager are the dependencies // that is getting included // implementation 'androidx.appcompat:appcompat:1.2.0' // Recommended for SDK to be able to get Android Advertising ID implementation 'com.google.android.gms:play-services-basement:17.5.0' implementation 'com.google.android.gms:play-services-ads-identifier:17.0.0' }
Шаг 2. Импорт Vungle SDK
import com.vungle.warren.Vungle;
import com.vungle.warren.AdConfig; // Custom ad configurations
import com.vungle.warren.InitCallback; // Initialization callback
import com.vungle.warren.LoadAdCallback; // Load ad callback
import com.vungle.warren.PlayAdCallback; // Play ad callback
import com.vungle.warren.VungleNativeAd; // MREC ad
import com.vungle.warren.Banners; // Banner ad
import com.vungle.warren.VungleBanner; // Banner ad
import com.vungle.warren.Vungle.Consent; // GDPR consent
import com.vungle.warren.VungleSettings // Minimum disk space
import com.vungle.warren.error.VungleException // onError message
Шаг 3. Добавление кода
Инициализация SDK
public static void init(@NonNull final String appId,
@NonNull final Context context,
@NonNull final InitCallback callback)
public static void init(@NonNull final String appId,
@NonNull final Context context,
@NonNull final InitCallback callback,
@NonNull final VungleSettings settings)
Метод инициализации принимает следующие параметры:
- Идентификатор приложения Vungle
- Контекст приложения
-
InitCallback
-
onSuccess
: сообщает об успешной инициализации SDK -
onError
: сообщает о сбое инициализации- Вызывает
IllegalArgumentException
, если значениеInitCallback
нулевое.
- Вызывает
-
onAutoCacheAdAvailable
: сообщает, когда в месте размещения с автоматическим кэшированием есть доступная для воспроизведения реклама
-
-
VungleSettings
(необязательно)- Минимальное дисковое пространство — Настройте минимальное дисковое пространство, доступное на устройстве, для инициализации и работы SDK
- Ограничение идентификатора Android — Настройте ограничение использования идентификатора устройства Android
Vungle.init(appId, getApplicationContext(), new InitCallback() {
@Override
public void onSuccess() {
// SDK has successfully initialized
}
@Override
public void onError(VungleException exception) {
// SDK has failed to initialize
}
@Override
public void onAutoCacheAdAvailable(String placementId) {
// Ad has become available to play for a cache optimized placement
}
};
// 6.4.x & below
Vungle.init(appId, getApplicationContext(), new InitCallback() {
@Override
public void onSuccess() {
// SDK has successfully initialized
}
@Override
public void onError(Throwable throwable) {
// SDK has failed to initialize
}
@Override
public void onAutoCacheAdAvailable(String placementId) {
// Ad has become available to play for a cache optimized placement
}
};
Переопределяемые методы | Описание |
---|---|
onSuccess() |
Вызывается, когда SDK успешно инициализирован и готов к загрузке или воспроизведению рекламы при ее наличии |
onError(VungleException exception) |
Вызывается, когда при попытке инициализации SDK возникает ошибка. Вы можете ознакомиться с сообщением об ошибке из getLocalizedMessage VungleException и использовать getExceptionCode для отладки. |
onAutoCacheAdAvailable(String placementId) |
Вызывается, когда реклама становится доступной для воспроизведения для мест размещения, оптимизированных для кеширования. Издатель по-прежнему должен прямо выдавать loadAd для мест размещения, оптимизированных для кеширования, как описано в разделе Загрузка рекламы для размещения. |
Вы можете в любое время проверить, инициализирован ли SDK Vungle, вызвав метод isInitialized
:
public static boolean isInitialized()
Интеграция форматов рекламы
Выполните интеграцию SDK для каждого формата рекламы, которую вы планируете отображать в своем приложении. Смотрите наши инструкции для каждого формата рекламы:
- Интеграция рекламы внутри передачи и рекламы с вознаграждением
- Интеграция баннерной рекламы
- Интеграция рекламы MREC
Расширенная настройка рекламы
Следуйте инструкциям в нашей статье Расширенные настройки для точной настройки интеграции вашего приложения с дополнительными возможностями, такими как внедрение GDPR, CCPA и многими другими настройками.