Я использую шаблон нативной рекламы admob. Admob рекомендует использовать метод destroy() в нативной рекламе, чтобы избежать утечек памяти. Рекомендуется вызывать метод внутри метода onDestroy() действия.
if (isDestroyed()) {
ad.destroy();
return;
}
Я использую recyclerview и инициализировал объявление в mainactivity как
MobileAds.initialize(MainActivity.this, "ca-app-pub-3940256099942544~3347511713");
но я поместил остальные рекламные коды в адаптер recyclerview, используя get itemviewtype
@Override
public void onBindViewHolder(@NonNull final RecyclerView.ViewHolder holder, final int position) {
if (getItemViewType(position) == AD_TYPE){
final AdLoader adLoader = new AdLoader.Builder(context, "ca-app-pub-3940256099942544/2247696110")
.forUnifiedNativeAd(new UnifiedNativeAd.OnUnifiedNativeAdLoadedListener() {
@Override
public void onUnifiedNativeAdLoaded(UnifiedNativeAd unifiedNativeAd) {
// Show the ad.
NativeTemplateStyle styles = new
NativeTemplateStyle.Builder().build();
TemplateView template = ((adViewHolder) holder).Adtemplate;
template.setStyles(styles);
template.setNativeAd(unifiedNativeAd);
}
})
.withAdListener(new AdListener() {
@Override
public void onAdFailedToLoad(int errorCode) {
// Handle the failure by logging, altering the UI, and so on.
}
})
.withNativeAdOptions(new NativeAdOptions.Builder()
// Methods in the NativeAdOptions.Builder class can be
// used here to specify individual options settings.
.build())
.build();
adLoader.loadAd(new AdRequest.Builder().build());
}
где я должен выполнить метод ad.destroy() в этом сценарии? Кроме того, нужно ли мне выполнять какие-либо другие методы для шаблонов нативной рекламы? Любая помощь будет принята с благодарностью.