我已经在谷歌播放中发布了一个广告,几天前我从谷歌Admob收到了以下电子邮件。
我们提醒您,您的应用目前违反了AdMob计划政策。重要的是,这需要您采取措施以确保广告投放不会中断。请阅读以下内容,了解有关您需要采取的行动的更多信息:
布局鼓励意外点击 - 跨期广告: 发布商不得以任何方式鼓励用户点击AdMob插页式广告。这包括可能会鼓励意外点击的任何实施,例如以阻止查看应用核心内容的方式放置插页式广告,或以干扰导航或与应用核心内容和功能交互的方式放置插页式广告。
请检查您是如何实施插页式广告的,并注意以下不合规实施的常见示例:
在应用程序打开之前或应用程序关闭之后显示的插页式广告。 用户关闭其他插页式广告后触发的插页式广告。 在用户查看应用内容时意外加载插页式广告。请务必仅在内容页面之间提供插页式广告。 每次用户点击后触发的插页式广告。 在游戏或重度用户互动期间出现的插页式广告。
现在,下面是我的MainActivity。我需要帮助才能将广告放在适当的区域
public class MainActivity extends Activity {
private InterstitialAd interstitial;
// static int p;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ExtendedViewPager mViewPager = (ExtendedViewPager) findViewById(R.id.view_pager);
mViewPager.setAdapter(new TouchImageAdapter());
mViewPager.setCurrentItem(5);
// Prepare the Interstitial Ad
interstitial = new InterstitialAd(MainActivity.this);
// Insert the Ad Unit ID
interstitial.setAdUnitId("xxxxxxxxxxxxxxxxxxxxxxxx");
//Locate the Banner Ad in activity_main.xml
AdView adView = (AdView) this.findViewById(R.id.adView);
// Request for Ads
AdRequest adRequest = new AdRequest.Builder()
// Add a test device to show Test Ads
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
.addTestDevice("")
.build();
// Load ads into Banner Ads
adView.loadAd(adRequest);
// Load ads into Interstitial Ads
interstitial.loadAd(adRequest);
// Prepare an Interstitial Ad Listener
interstitial.setAdListener(new AdListener() {
public void onAdLoaded() {
// Call displayInterstitial() function
displayInterstitial();
}
});
}
public void displayInterstitial() {
// If Ads are loaded, show Interstitial else show nothing.
if (interstitial.isLoaded()) {
interstitial.show();
}
}
class TouchImageAdapter extends PagerAdapter {
private int[] images = { R.drawable.file_page05,R.drawable.file_page04,R.drawable.file_page03,R.drawable.file_page02,R.drawable.file_page01};
@Override
public int getCount() {
return images.length;
}
@Override
public View instantiateItem(ViewGroup container, int position) {
TouchImageView img = new TouchImageView(container.getContext());
img.setImageResource(images[position]);
container.addView(img, LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT);
return img;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView((View) object);
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view == object;
}
}
}
答案 0 :(得分:1)
制作广告需要一些时间。您在显示viewpager后显示广告。这将导致用户通过viewpager导航并突然加载广告的情况。这违反了广告政策。
在加载viewpager之前,您已检查广告是否已加载。如果广告已加载,则展示广告并在关闭广告时显示viewpager。否则直接显示viewpager。
我通常会在启动器活动中加载广告并在需要时显示。