Я хочу измерить видимость объявления (через Active View) с помощью NativeCustomTemplateAd
. С PublisherAdView
это довольно просто: мы просто добавляем представление в наш макет, и когда пользователь просматривает не менее 50% рекламы в течение более 1 секунды, запрос активного просмотра (до pagead2.googlesyndication.com/pcs/activeview
) автоматически made.
NativeCustomTemplateAd
работает немного по-другому. Вместо того, чтобы прикреплять объявление к просмотру, мы извлекаем изображение объявления Drawable
и отображаем его, используя Android ImageView
. Таким образом, тот же запрос Active View не выполняется автоматически. Впоследствии, для просмотра объявлений показывается значение 0.
Похоже, что использование NativeCustomTemplateAd.DisplayOpenMeasurement
может быть использовано для достижения того же результата. Документация (https://developers.google.com/android/reference/com/google/android/gms/ads/formats/NativeCustomTemplateAd.DisplayOpenMeasurement), однако, невелика, и практически нет примеров использования в Интернете. Обратите внимание, что метод start () в do c упоминает Active View:
Запускает измерения видимости OMID и Active View для медийных объявлений.
На основе документации, реализация будет выглядеть следующим образом:
val adDrawable = nativeCustomTemplateAd.getImage("Image").drawable
imageView.setImageDrawable(adDrawable)
nativeCustomTemplateAd.displayOpenMeasurement.setView(imageView)
val didStart = nativeCustomTemplateAd.displayOpenMeasurement.start()
LogUtil.log(Log.DEBUG, "TAG", "did start measuring: $didStart")
Журнал выше печатает false, однако мы не получаем запрос Active View. Базовый код скрыт, и без дополнительной информации мы не можем знать, почему это не работает. Мы знаем, что RemoteException
выбрасывается, но это все:
public final boolean start() {
try {
return this.zzcwb.zzqt();
} catch (RemoteException var2) {
zzaxi.zzc("", var2);
return false;
}
}
Любое руководство по этому подходу или оценке видимости рекламы альтернативным способом высоко ценится!