如何在app start

时间:2015-08-25 16:11:45

标签: android admob interstitial

我需要帮助 如何在app开始时显示admob interstitial 我希望在应用启动时触发admon插页式广告 为了记录我的应用程序是一个滑动选项卡内容 请求我需要任何解决方案 任何人都有想法

public class MainActivity extends FragmentActivity implements
        ActionBar.TabListener {

    private InterstitialAd interstitial;

    private ViewPager viewPager;
    private TabsPagerAdapter mAdapter;
    private ActionBar actionBar;
    // Tab titles


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


        // Create the interstitial.
        interstitial = new InterstitialAd(this);
        interstitial.setAdUnitId("");

        //google ads Banner
        AdView mAdView = (AdView) findViewById(R.id.adView);
        AdRequest adRequest = new AdRequest.Builder().build();
        mAdView.loadAd(adRequest);
        ActionBar actionBar = getActionBar();

        // Create the interstitial.
        interstitial = new InterstitialAd(this);
        interstitial.setAdUnitId("ca-app-pub-1417847946178022/7723890794");

        // Create ad request.
        adRequest = new AdRequest.Builder().build();

        // Begin loading your interstitial.
        interstitial.loadAd(adRequest);


        // Initilization
        viewPager = (ViewPager) findViewById(R.id.pager);
        actionBar = getActionBar();
        mAdapter = new TabsPagerAdapter(getSupportFragmentManager());

        viewPager.setAdapter(mAdapter);
        actionBar.setHomeButtonEnabled(false);
        actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

        // Adding Tabs
        for (String tab_name : tabs) {
            actionBar.addTab(actionBar.newTab().setText(tab_name)
                    .setTabListener(this));
        }

        /**
         * on swiping the viewpager make respective tab selected
         * */
        final ActionBar finalActionBar = actionBar;
        viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {

            @Override
            public void onPageSelected(int position) {
                // on changing the page
                // make respected tab selected
                finalActionBar.setSelectedNavigationItem(position);
            }

            @Override
            public void onPageScrolled(int arg0, float arg1, int arg2) {
            }

            @Override
            public void onPageScrollStateChanged(int arg0) {
            }
        });




        interstitial.setAdListener(new AdListener() {
            public void onAdLoaded() {
                displayInterstitial();
            }
        });


    }

    // Invoke displayInterstitial() when you are ready to display an interstitial.
    public void displayInterstitial() {
        if (interstitial.isLoaded()) {
            interstitial.show();
        }


    }


    @Override
    public void onTabReselected(Tab tab, FragmentTransaction ft) {
    }

    @Override
    public void onTabSelected(Tab tab, FragmentTransaction ft) {
        // on tab selected
        // show respected fragment view
        viewPager.setCurrentItem(tab.getPosition());
    }

    @Override
    public void onTabUnselected(Tab tab, FragmentTransaction ft) {
    }


}

2 个答案:

答案 0 :(得分:1)

请注意,根据disallowed admob implementations

  

App加载或退出

     

不要在应用加载时放置插页式广告,并且在退出应用时,插页式广告只应放置在应用内容的页面之间。

如果不遵守此政策,可能会导致您的应用无法投放广告。

如果您仍然需要此功能,则可以使用onResume's方法显示:

boolean isAdShown;

@Override
protected void onResume() {
    super.onResume();
    if (!isAdShown) {
        displayInterstitial();
        isAdShown = true;
    }
}

答案 1 :(得分:-1)

您不应在应用加载时以及在退出应用时将插页式广告放置为“但是”。您可以在应用加载后显示非页内广告,通过这种做法,您必须在应用中实现启动屏幕,然后在其后显示非页内广告。

  

当用户闲置在“首页”上时​​,非页内广告将启动   应用的屏幕”。此实施违反了我们的   政策。解决此违规问题的一种可能方法是   实施作为应用程序的第一个屏幕启动的启动页面,   在“主屏幕”之前然后,非页内广告应在   初始屏幕和“主屏幕”之间的过渡。

参考:-> Google Blog