Нативные объявления можно настраивать, чтобы они лучше подходили для пользователей. Удобство для пользователей повышает вовлеченность и доходность.
Чтобы нативные объявления были максимально эффективными, важно оформить их так, чтобы они выглядели как естественное продолжение вашего приложения. Чтобы помочь вам в этом, мы создали нативные шаблоны.
Нативные шаблоны – это готовые представления для нативных объявлений, которые можно быстро внедрить и легко изменить. С помощью нативных шаблонов вы сможете создать первое нативное объявление за несколько минут и быстро настроить его внешний вид без необходимости писать много кода. Вы можете размещать эти шаблоны в любом месте, например в представлении RecyclerView, используемом в ленте новостей, в диалоговом окне или в любом другом месте приложения.
Наши встроенные шаблоны предоставляются в виде модуля Android Studio, поэтому их легко добавить в проект и использовать по своему усмотрению.
Размеры шаблонов
Есть два шаблона: маленький и средний. Оба они используют класс TemplateView и имеют фиксированное соотношение сторон. Они будут масштабироваться, чтобы заполнить ширину родительских представлений.
Малый шаблон
@layout/gnt_small_template_view
Малый шаблон идеально подходит для представлений, которые можно прокручивать, или для любого случая, когда вам нужно длинное прямоугольное представление объявления. Например, его можно использовать для объявлений в фиде.

Шаблон среднего размера
@layout/gnt_medium_template_view
Шаблон среднего размера предназначен для показа на половине или трех четвертях страницы, но также может использоваться в фидах. Она подходит для целевых и заставочных страниц.
Вы можете экспериментировать с размещением. Конечно, вы также можете изменить исходный код и XML-файлы в соответствии со своими требованиями.

Как установить шаблоны нативных объявлений
Чтобы установить встроенные шаблоны, просто скачайте ZIP-файл (используя вариант Клонировать или скачать на GitHub) и импортируйте модуль в существующий проект Android Studio.
Выберите File > New > Import Module (Файл > Создать > Импортировать модуль).
Выберите папку
nativetemplates.
Добавьте в файл
build.gradleна уровне приложения следующую строку:dependencies { ... implementation project(':nativetemplates') ... }
Как использовать шаблоны нативных объявлений
Вы можете использовать шаблон в любом XML-файле макета, как и любую другую группу представлений.

Чтобы использовать шаблоны, выполните следующие действия:
Сначала добавьте шаблон в макет.
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" tools:showIn="@layout/activity_main" > <!-- This is your template view --> <com.google.android.ads.nativetemplates.TemplateView android:id="@+id/my_template" <!-- this attribute determines which template is used. The other option is @layout/gnt_medium_template_view --> app:gnt_template_type="@layout/gnt_small_template_view" android:layout_width="match_parent" android:layout_height="match_parent" /> ... </LinearLayout>Затем вам нужно передать шаблону нативное объявление при его загрузке:
MobileAds.initialize(this); AdLoader adLoader = new AdLoader.Builder(this, "/21775744923/example/native") .forNativeAd(new NativeAd.OnNativeAdLoadedListener() { @Override public void onNativeAdLoaded(NativeAd nativeAd) { NativeTemplateStyle styles = new NativeTemplateStyle.Builder().withMainBackgroundColor(background).build(); TemplateView template = findViewById(R.id.my_template); template.setStyles(styles); template.setNativeAd(nativeAd); } }) .build(); adLoader.loadAd(new AdManagerAdRequest.Builder().build());
Ключи словаря стилей
Существует два способа задать стиль шаблона: с помощью традиционной разметки XML и с помощью объекта NativeTemplateStyle.Builder. В приведенном выше фрагменте кода показано, как использовать объект NativeTemplateStyle.Builder, чтобы задать основной цвет фона, но есть и другие варианты. Ниже перечислены все доступные методы построителя. Конструктор возвращает объект NativeTemplateStyle, который переопределяет все стили макета XML. В макетах XML gnt_small_template.xml и gnt_medium_template.xml используются те же параметры стиля Android, которые вам уже знакомы.
| Методы конструктора для нативного стиля шаблона | |
|---|---|
withCallToActionTextTypeface
|
Typeface callToActionTextTypeface
Шрифт призыва к действию. |
withCallToActionTextSize
|
float callToActionTextSize
Размер текста призыва к действию. |
withCallToActionTypefaceColor
|
int callToActionTypefaceColor
Цвет текста призыва к действию. |
withCallToActionBackgroundColor
|
ColorDrawable callToActionBackgroundColor
Цвет фона призыва к действию. |
withPrimaryTextTypeface
|
Typeface primaryTextTypeface
Шрифт первой строки текста. |
withPrimaryTextSize
|
float primaryTextSize
Размер первой строки текста. |
withPrimaryTextTypefaceColor
|
int primaryTextTypefaceColor
Цвет первой строки текста. |
withPrimaryTextBackgroundColor
|
ColorDrawable primaryTextBackgroundColor
Цвет фона первой строки текста. |
withSecondaryTextTypeface
|
Typeface secondaryTextTypeface
Шрифт второй строки текста. |
withSecondaryTextSize
|
float secondaryTextSize
Размер второй строки текста. |
withSecondaryTextTypefaceColor
|
int secondaryTextTypefaceColor
Цвет текста во второй строке. |
withSecondaryTextBackgroundColor
|
ColorDrawable secondaryTextBackgroundColor
Цвет фона второй строки текста. |
withTertiaryTextTypeface
|
Typeface tertiaryTextTypeface
Шрифт текста в третьей строке. |
withTertiaryTextSize
|
float tertiaryTextSize
Размер текста в третьей строке. |
withTertiaryTextTypefaceColor
|
int tertiaryTextTypefaceColor
Цвет текста в третьей строке. |
withTertiaryTextBackgroundColor
|
ColorDrawable tertiaryTextBackgroundColor
Цвет фона третьей строки текста. |
withMainBackgroundColor
|
ColorDrawable mainBackgroundColor
Основной цвет фона. |
Впечатления
Мы создали нативные шаблоны, чтобы вы могли быстро разрабатывать нативные объявления. Вы можете добавить новые шаблоны или функции в наш репозиторий на GitHub. Отправьте нам pull-запрос, и мы его рассмотрим.