Добавление баннерной рекламы и средних прямоугольных баннеров в приложение для Android

Audience Network позволяет монетизировать приложения Android за счет рекламы Facebook. Это руководство содержит информацию о том, как добавить баннерную рекламу и средние прямоугольные баннеры в ваше приложение.

You can change placements in Monetization Manager to the Medium Rectangle format if these were previously configured as Banner for bidding. Similarly, for any new medium rectangle placements, navigate to the placement settings page in Monetization Manager and select Medium Rectangle (not Banner).

Placements will deliver as normal even if they are not changed to the medium rectangle format. However, to avoid confusion, we recommend that you change these placements to medium rectangle.

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

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

Добавление баннерной рекламы и средних прямоугольных баннеров

Шаг 1. Добавление контейнера макета для баннерной рекламы

Шаг 2. Интеграция баннера в строку класса Activity

Шаг 3. Добавление функции слушателя

Шаг 1. Добавление контейнера макета для баннерной рекламы

В файл макета (например /res/layout/activity_main.xml) добавьте макет, который будет играть роль контейнера для вашей рекламы.
Запомните указанный здесь ID, поскольку позже вы будете ссылаться на него в коде.

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
...
>
...
<LinearLayout
android:id="@+id/banner_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
/>
...
</RelativeLayout>

Шаг 2. Интеграция баннера в строку класса Activity

Добавьте в начало действия следующий код, чтобы импортировать SDK Facebook Ads:

import com.facebook.ads.*;

Затем создайте экземпляр объекта AdView и отправьте запрос на загрузку рекламы. Поскольку AdView — это подкласс View, вы можете добавить его в иерархию представлений, как и любое другое представление:

private AdView adView;

@Override
public void onCreate(Bundle savedInstanceState) {
...
// Instantiate an AdView object. 
// NOTE: The placement ID from the Facebook Monetization Manager identifies your App.
// To get test ads, add IMG_16_9_APP_INSTALL# to your placement id. Remove this when your app is ready to serve real ads.

adView = new AdView(this, "IMG_16_9_APP_INSTALL#YOUR_PLACEMENT_ID", AdSize.BANNER_HEIGHT_50);

// Find the Ad Container
LinearLayout adContainer = (LinearLayout) findViewById(R.id.banner_container);

// Add the ad view to your activity layout
adContainer.addView(adView);

// Request an ad
adView.loadAd();
}

Если приложение создается для планшета, попробуйте использовать размер AdSize.BANNER_HEIGHT_90. Во всех случаях будет получен баннер с непостоянной минимальной шириной 320 пикселей.

Наконец, добавьте следующий код к функции onDestroy() в activity, чтобы освободить ресурсы, используемые AdView:

@Override
protected void onDestroy() {
if (adView != null) {
adView.destroy();
}
super.onDestroy();
}

При запуске указанного выше кода вы должны увидеть что-то подобное:



Если вы используете эмулятор Google Android по умолчанию, добавьте перед загрузкой тестовой рекламы следующую строку кода:
AdSettings.addTestDevice("HASHED ID");.

Когда вы будете впервые запрашивать загрузку рекламы на устройство, воспользуйтесь хэшированным ID, записанным в LogCat.

Для Genymotion и физических устройств выполнять этот шаг не нужно. Если вы хотели бы выполнить тестирование с настоящей рекламой, изучите Руководство по тестированию.

Шаг 3. Добавление функции слушателя

Теперь, когда у вас есть подготовленный базовый код, вы можете задать для AdListener значение AdView, чтобы регистрировать определенные события:

import android.widget.Toast;
...

protected void onCreate(Bundle savedInstanceState) {
...
AdListener adListener = new AdListener() {
@Override
public void onError(Ad ad, AdError adError) {
// Ad error callback
Toast.makeText(
MainActivity.this,
"Error: " + adError.getErrorMessage(),
Toast.LENGTH_LONG)
.show();
}

@Override
public void onAdLoaded(Ad ad) {
// Ad loaded callback
}

@Override
public void onAdClicked(Ad ad) {
// Ad clicked callback
}

@Override
public void onLoggingImpression(Ad ad) {
// Ad impression logged callback
}
};

// Request an ad
adView.loadAd(adView.buildLoadAdConfig().withAdListener(adListener).build());
}

Размеры рекламных баннеров

Audience Network поддерживает три размера рекламных баннеров в AdView. Ширина баннера непостоянна, но не меньше 320 пикселей, и только его высота имеет определенное значение.

Формат рекламы Обозначение AdSize Размер Рекомендация

Стандартный баннер

BANNER_50

320x50

Этот баннер идеально подходит для телефонов

Большой баннер

BANNER_90

320x90

Этот баннер идеален для размещения на планшетах и устройствах с более крупным экраном

Средний прямоугольный баннер

RECTANGLE_HEIGHT_250

300x250

Этот формат лучше всего подходит для лент с прокруткой или конечных экранов

Дальнейшие действия