首页 文章

在ViewPager中放置AdMob插页式广告的位置

提问于
浏览
1

我在google play中发布了一个广告,几天前我从谷歌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;
        }



    }


}

1 回答

  • 1

    制作广告需要一些时间 . 您在显示viewpager后显示广告 . 这将导致用户通过viewpager导航并突然加载广告的情况 . 这违反了广告政策 .

    在加载viewpager之前,您需要检查广告是否已加载 . 如果广告已加载,则展示广告并在关闭广告时显示viewpager . 否则直接显示viewpager .

    我通常会在启动器活动中加载广告并在需要时显示 .

相关问题