Menu

Interstitial Ad

1. Interstitial advertising abstract method implementation and advertising event callback

1.1 Interstitial advertising requires additional implementation Abstract method

Abstract methodParameter descriptionReturn valueFunctionWhether it must be implemented
isAdReady-booleanUsed to determine whether the interstitial advertisement of the custom advertising platform has been It is ready to be completedYes
showActivity activity: Activity contextvoidImplement the logic of displaying custom advertising platform interstitialYes

1.2 Interstitial advertising event callback

Implementing callbacks for advertising events using the Custom Interactive EventListene member variable of the Custom Interactive Adapter

1.3 Sample Code

public class FacebookInterstitialAdapter extends CustomInterstitialAdapter {

    InterstitialAd mInterstitialAd;
    String mUnitid;
    String mPayload;

    /***
     * load ad
     */
    private void startLoad(final Context context) {

        final InterstitialAdListener interstitialAdListener = new InterstitialAdListener() {

            @Override
            public void onError(Ad ad, AdError adError) {
                if (mLoadListener != null) {
                    mLoadListener.onAdLoadError(adError.getErrorCode() + "", "" + adError.getErrorMessage());
                }
            }

            @Override
            public void onAdLoaded(Ad ad) {
                if (mLoadListener != null) {
                    mLoadListener.onAdCacheLoaded();
                }
            }

            @Override
            public void onAdClicked(Ad ad) {
                if (mImpressListener != null) {
                    mImpressListener.onInterstitialAdClicked();
                }
            }

            @Override
            public void onLoggingImpression(Ad ad) {
            }

            @Override
            public void onInterstitialDisplayed(Ad ad) {
                if (mImpressListener != null) {
                    mImpressListener.onInterstitialAdShow();
                }
            }

            @Override
            public void onInterstitialDismissed(Ad ad) {
                if (mImpressListener != null) {
                    mImpressListener.onInterstitialAdClose();
                }
            }
        };

        mInterstitialAd = new InterstitialAd(context.getApplicationContext(), mUnitid);
        // Load a new interstitial.
        final InterstitialAd.InterstitialAdLoadConfigBuilder adConfig = mInterstitialAd.buildLoadAdConfig()
                .withAdListener(interstitialAdListener);

        if (!TextUtils.isEmpty(mPayload)) {
            adConfig.withBid(mPayload);
        }

        mInterstitialAd.loadAd(adConfig.build());
    }

    @Override
    public void destory() {
        try {
            if (mInterstitialAd != null) {
                mInterstitialAd.setAdListener(null);
                mInterstitialAd.destroy();
                mInterstitialAd = null;
            }
        } catch (Exception e) {
        }
    }

    @Override
    public void loadCustomNetworkAd(Context context, Map<String, Object> serverExtras, Map<String, Object> localExtras) {

        if (serverExtras.containsKey("unit_id")) {
            mUnitid = (String) serverExtras.get("unit_id");
        } else {
            if (mLoadListener != null) {
                mLoadListener.onAdLoadError("", "facebook sdkkey is empty.");
            }
            return;
        }

        if (serverExtras.containsKey("payload")) {
            mPayload = serverExtras.get("payload").toString();
        }

        FacebookInitManager.getInstance().initSDK(context.getApplicationContext(), serverExtras);
        startLoad(context);
    }

    @Override
    public boolean isAdReady() {
        if (mInterstitialAd == null || !mInterstitialAd.isAdLoaded()) {
            return false;
        }

        if (mInterstitialAd.isAdInvalidated()) {
            return false;
        }

        return true;
    }

    @Override
    public boolean setUserDataConsent(Context context, boolean isConsent, boolean isEUTraffic) {
        return false;
    }

    @Override
    public void show(Activity activity) {
        if (mInterstitialAd != null) {
            mInterstitialAd.show();
        }
    }

    @Override
    public String getNetworkSDKVersion() {
        return FacebookInitManager.getInstance().getNetworkVersion();
    }

    @Override
    public String getNetworkName() {
        return FacebookInitManager.getInstance().getNetworkName();
    }

    @Override
    public String getNetworkPlacementId() {
        return mUnitid;
    }
}


Previous
Rewarded Video Ad
Next
Banner Ad
Last modified: 2025-05-30Powered by