Как правильно использовать Facebook Interstitial Ad в приложении для Android - PullRequest
0 голосов
/ 04 октября 2018

Я новичок в Facebook.Я хочу разместить промежуточную рекламу при нажатии кнопки.Ниже приведен мой код.

Я хочу проверить, является ли это правильной реализацией (Специально перезагружать объявление после его показа один раз)

private void initInterstitialAd() {
        interstitialAd = new InterstitialAd(this, getString(R.string.fb_interstitial_ad));
        // Set listeners for the Interstitial Ad
        interstitialAd.setAdListener(new InterstitialAdListener() {
            @Override
            public void onInterstitialDisplayed(Ad ad) {
            }

            @Override
            public void onInterstitialDismissed(Ad ad) {
                // Interstitial dismissed callback
                doAction(pos);
                interstitialAd.loadAd();
            }

            @Override
            public void onError(Ad ad, AdError adError) {
                // Ad error callback
                interstitialAd.loadAd();
            }

            @Override
            public void onAdLoaded(Ad ad) {
                // Interstitial ad is loaded and ready to be displayed
                // Show the ad
//                if (!interstitialAd.isAdInvalidated())
//                    interstitialAd.show();
            }

            @Override
            public void onAdClicked(Ad ad) {
                // Ad clicked callback
            }

            @Override
            public void onLoggingImpression(Ad ad) {
                // Ad impression logged callback
            }
        });

        // For auto play video ads, it's recommended to load the ad
        // at least 30 seconds before it is shown
        interstitialAd.loadAd();
    } 

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    ....
    initInterstitialAd();
    share.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            pos = viewPager.getCurrentItem();
            if (random.nextBoolean() && random.nextBoolean()
                    && interstitialAd.isAdLoaded()
                    && !interstitialAd.isAdInvalidated()) {
                interstitialAd.show();
            } else {
                doAction(pos);
            }

        }
    });
}
...