Реалізація нативної реклами у мобільному додатку

TRUETECH займається розробкою, підтримкою та обслуговуванням мобільних додатків iOS, Android, PWA. Маємо великий досвід та експертизу для публікації мобільних додатків до популярних маркетів Google Play, App Store, Amazon, AppGallery та інші.

Розробка та підтримка будь-яких видів мобільних додатків:

Інформаційні та розважальні мобільні програми
Новинки, ігри, довідники, онлайн-каталоги, погодні, фітнес та здоров'я, туристичні, освітні, соціальні мережі та месенджери, квіз, блоги та подкасти, форуми, агрегатори
Мобільні програми електронної комерції
Інтернет-магазини, B2B-додатки, маркетплейси, онлайн-обмінники, кешбек-сервіси, біржі, дропшиппінг-платформи, програми лояльності, доставка їжі та товарів, платіжні системи
Мобільні програми для управління бізнес-процесами
CRM-системи, ERP-системи, управління проектами, інструменти для команди продажів, облік фінансів, управління виробництвом, логістика та доставка, управління персоналом, системи моніторингу даних
Мобільні програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, платформи надання електронних послуг, платформи кешбеку, відеохостинги, тематичні портали, платформи онлайн-бронювання та запису, платформи онлайн-торгівлі

Це лише деякі з типів мобільних додатків, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1735 послуг
Реалізація нативної реклами у мобільному додатку
Середній
~2-3 дні
Часті запитання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_mobile-applications_feedme_467_0.webp
    Розробка мобільного додатка для компанії FEEDME
    792
  • image_mobile-applications_xoomer_471_0.webp
    Розробка мобільного додатку для компанії XOOMER
    671
  • image_mobile-applications_rhl_428_0.webp
    Розробка мобільного додатку для компанії RHL
    1097
  • image_mobile-applications_zippy_411_0.webp
    Розробка мобільного додатку для компанії ZIPPY
    969
  • image_mobile-applications_affhome_429_0.webp
    Розробка мобільного додатку для компанії Affhome
    914
  • image_mobile-applications_flavors_409_0.webp
    Розробка мобільного додатку для компанії FLAVORS
    495

Реалізація нативної реклами у мобільному додатку

Нативна реклама — це не «реклама, яка виглядає не як реклама». Google та Apple вимагають явної маркування («Реклама», «Ad», «Sponsored»), і порушення цього правила ведить до відхилення додатку. Нативна реклама — це оголошення, яке візуально вписується в дизайн, але чесно ідентифікує себе. CTR грамотно реалізованої нативки в ленті — в 2–4 рази вищий за банер.

Де найчастіше ломається реалізація

Неправильний registerView.

AdMob вимагає реєстрації всіх кликабельних елементів у NativeAdView. Якщо не вислати nativeAdView.mediaView = ... та не передати всі view-компоненти, клики не будуть трекатися:

val nativeAdView = inflater.inflate(R.layout.native_ad_layout, null) as NativeAdView
nativeAdView.mediaView = nativeAdView.findViewById(R.id.ad_media)
nativeAdView.headlineView = nativeAdView.findViewById(R.id.ad_headline)
nativeAdView.bodyView = nativeAdView.findViewById(R.id.ad_body)
nativeAdView.callToActionView = nativeAdView.findViewById(R.id.ad_call_to_action)
nativeAdView.iconView = nativeAdView.findViewById(R.id.ad_icon)
// Після назначення всіх view — біндимо оголошення
nativeAdView.setNativeAd(nativeAd)

Забутий nativeAdView.setNativeAd(nativeAd) в кінці — оголошення не показується вообще. Це не помилка в logcat, просто порожний layout.

Переиспользование у RecyclerView.

При прокручуванні ячейки з нативною рекламою переиспользуються. Якщо не вислати previousNativeAd.destroy() перед привязкою нового оголошення — старий NativeAd продовжує тримати ресурси. На довгих лентах з нативною рекламою кожні 5–10 позицій це виражається у зростанні пам'яті ~15–20 MB за сесію.

override fun onViewRecycled(holder: NativeAdViewHolder) {
    holder.nativeAdView.setNativeAd(null) // откепляет попередній NativeAd
    // або зберігаємо reference та вираховуємо nativeAd.destroy()
}

На iOS аналогічна проблема: GADNativeAd потрібно явно обнулювати у prepareForReuse() ячейки.

Шаблони vs користувальницький дизайн

AdMob пропонує GADNativeAdView (iOS) та NativeAdView (Android) як контейнери з готовою логікою трекинга кліків. Верстати всередину цих контейнерів обов'язково — не можна просто накласти свої views зверху та очікувати, що клики будуть рахуватися.

Дизайн шаблону — вільний у межах гайдлайнів платформи. Обмеження: логотип/іконка рекламодавця повинні бути видні, маркування «Ad» обов'язково, CTA-кнопка повинна бути кликабельна (не просто текст).

Google забороняє нативну рекламу, яка візуально невідрізна від редакційного контенту — тобто без маркування. За це дають страйк та видаляють додаток з AdMob.

Завантаження та кешування

Нативні оголошення завантажуються через AdLoader з forNativeAd(). Можна запросити до 5 оголошень за раз через withNativeAdOptions(NativeAdOptions.Builder().setRequestMultipleImages(true).build()) — це корисно для ленти, де нативка вставляється на різних позиціях.

Кешувати оголошення довше 1 години не має сенсу — AdMob аннулює їх зі сторони сервера.

val adLoader = AdLoader.Builder(context, AD_UNIT_ID)
    .forNativeAd { nativeAd ->
        nativeAdsList.add(nativeAd)
        if (!adLoader.isLoading && nativeAdsList.size == requestCount) {
            insertAdsIntoList()
        }
    }
    .withAdListener(object : AdListener() {
        override fun onAdFailedToLoad(error: LoadAdError) {
            // логуємо, не показуємо користувачу
        }
    })
    .build()
adLoader.loadAds(AdRequest.Builder().build(), requestCount)

Графіки реалізації нативної реклами: шаблон в одному місці — 1–2 дні, користувальницький дизайн з інтеграцією в ленту/RecyclerView — 2–3 дні. Стоимость рассчитывается після обговорення дизайну та кількості точок розміщення.