Я использую библиотеку Umano SlidingUpPanel , которая расширяется, когда я нажимаю кнопку, и моя MainActivity затем перекрывается этой панелью.
Теперь я где-то читал, что Admob Ads не следует запрашивать / активировать, когда они не видны пользователю, и проблема заключается в том, что у меня есть родное объявление на моей главной активности, которое затем не будет видно, если пользователь останется в расширенном состоянии. .
Так я должен просто уничтожить Собственное объявление , когда панель развернута, а затем повторно загрузить объявление, когда панель свернута со старым запросом объявления, или запросить новый?
Это код, который я использую для загрузки рекламы на слайд-панель.
@Override
public void onPanelStateChanged(View panel, SlidingUpPanelLayout.PanelState previousState, SlidingUpPanelLayout.PanelState newState) {
if (newState.equals(SlidingUpPanelLayout.PanelState.EXPANDED)){
if (nativeAd != null){
nativeAd.destroy();
Log.d(TAG, "SlidingUpPanel EXPANDED: nativeAd destroy!");
}
if (nativeAd2 == null){
refreshAd();
Log.d(TAG, "SlidingUpPanel EXPANDED: refreshAd()");
}else {
adLoader2.loadAd(adRequest);
Log.d(TAG, "SlidingUpPanel EXPANDED: nativeAd != null : adLoaderSong load ad!");
}
}
if (newState.equals(SlidingUpPanelLayout.PanelState.COLLAPSED) || newState.equals(SlidingUpPanelLayout.PanelState.HIDDEN)
&& previousState.equals(SlidingUpPanelLayout.PanelState.EXPANDED)) {
if (nativeAd2 != null) {
nativeAd2.destroy();
Log.d(TAG, "SlidingUpPanel COLLAPSED or HIDDEN: nativeAd2 destroy!");
}
adLoader.loadAd(adRequest2);
Log.d(TAG,"SlidingUpPanel ad: " +adRequest.toString());
}
}
РЕДАКТИРОВАТЬ
Я сохранил запрос объявления в глобальной переменной, и я перезагрузил объявление с тем же запросом объявления, но по какой-то причине оно показывает новое объявление?
Но Log.d(TAG,"SlidingUpPanel ad: " +adRequest.toString());
показывает ту же строку в logcat.