Search in sources :

Example 1 with InterstitialAd

use of com.google.android.gms.ads.interstitial.InterstitialAd in project mopub-android-mediation by mopub.

the class GooglePlayServicesInterstitial method load.

@Override
protected void load(@NonNull final Context context, @NonNull final AdData adData) {
    Preconditions.checkNotNull(context);
    Preconditions.checkNotNull(adData);
    mContext = context;
    setAutomaticImpressionAndClickTracking(false);
    final Map<String, String> extras = adData.getExtras();
    if (extrasAreValid(extras)) {
        mAdUnitId = extras.get(AD_UNIT_ID_KEY);
        mGooglePlayServicesAdapterConfiguration.setCachedInitializationParameters(context, extras);
    } else {
        MoPubLog.log(getAdNetworkId(), LOAD_FAILED, ADAPTER_NAME, MoPubErrorCode.NETWORK_NO_FILL.getIntCode(), MoPubErrorCode.NETWORK_NO_FILL);
        if (mLoadListener != null) {
            mLoadListener.onAdLoadFailed(MoPubErrorCode.NETWORK_NO_FILL);
        }
        return;
    }
    final AdRequest.Builder builder = new AdRequest.Builder();
    builder.setRequestAgent("MoPub");
    // Publishers may append a content URL by passing it to the MoPubInterstitial.setLocalExtras() call.
    final String contentUrl = extras.get(CONTENT_URL_KEY);
    if (!TextUtils.isEmpty(contentUrl)) {
        builder.setContentUrl(contentUrl);
    }
    forwardNpaIfSet(builder);
    final RequestConfiguration.Builder requestConfigurationBuilder = new RequestConfiguration.Builder();
    // Publishers may request for test ads by passing test device IDs to the MoPubView.setLocalExtras() call.
    final String testDeviceId = extras.get(TEST_DEVICES_KEY);
    if (!TextUtils.isEmpty(testDeviceId)) {
        requestConfigurationBuilder.setTestDeviceIds(Collections.singletonList(testDeviceId));
    }
    // Publishers may want to indicate that their content is child-directed and forward this
    // information to Google.
    final String childDirected = extras.get(TAG_FOR_CHILD_DIRECTED_KEY);
    if (childDirected != null) {
        if (Boolean.parseBoolean(childDirected)) {
            requestConfigurationBuilder.setTagForChildDirectedTreatment(TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE);
        } else {
            requestConfigurationBuilder.setTagForChildDirectedTreatment(TAG_FOR_CHILD_DIRECTED_TREATMENT_FALSE);
        }
    } else {
        requestConfigurationBuilder.setTagForChildDirectedTreatment(TAG_FOR_CHILD_DIRECTED_TREATMENT_UNSPECIFIED);
    }
    // Publishers may want to mark their requests to receive treatment for users in the
    // European Economic Area (EEA) under the age of consent.
    final String underAgeOfConsent = extras.get(TAG_FOR_UNDER_AGE_OF_CONSENT_KEY);
    if (underAgeOfConsent != null) {
        if (Boolean.parseBoolean(underAgeOfConsent)) {
            requestConfigurationBuilder.setTagForUnderAgeOfConsent(TAG_FOR_UNDER_AGE_OF_CONSENT_TRUE);
        } else {
            requestConfigurationBuilder.setTagForUnderAgeOfConsent(TAG_FOR_UNDER_AGE_OF_CONSENT_FALSE);
        }
    } else {
        requestConfigurationBuilder.setTagForUnderAgeOfConsent(TAG_FOR_UNDER_AGE_OF_CONSENT_UNSPECIFIED);
    }
    final RequestConfiguration requestConfiguration = requestConfigurationBuilder.build();
    MobileAds.setRequestConfiguration(requestConfiguration);
    final AdRequest adRequest = builder.build();
    InterstitialAd.load(context, mAdUnitId, adRequest, new InterstitialAdLoadCallback() {

        @Override
        public void onAdLoaded(@NonNull InterstitialAd interstitialAd) {
            Preconditions.checkNotNull(interstitialAd);
            mGoogleInterstitialAd = interstitialAd;
            MoPubLog.log(getAdNetworkId(), LOAD_SUCCESS, ADAPTER_NAME);
            if (mLoadListener != null) {
                mLoadListener.onAdLoaded();
            }
            mGoogleInterstitialAd.setFullScreenContentCallback(new FullScreenContentCallback() {

                @Override
                public void onAdDismissedFullScreenContent() {
                    if (mInteractionListener != null) {
                        mInteractionListener.onAdDismissed();
                    }
                    mGoogleInterstitialAd = null;
                }

                @Override
                public void onAdFailedToShowFullScreenContent(@NonNull AdError adError) {
                    Preconditions.checkNotNull(adError);
                    MoPubLog.log(getAdNetworkId(), CUSTOM, ADAPTER_NAME, "Failed to show " + "Google interstitial. " + adError.getMessage());
                    MoPubLog.log(getAdNetworkId(), SHOW_FAILED, ADAPTER_NAME, MoPubErrorCode.NETWORK_NO_FILL.getIntCode(), MoPubErrorCode.NETWORK_NO_FILL);
                    if (mInteractionListener != null) {
                        mInteractionListener.onAdFailed(MoPubErrorCode.NETWORK_NO_FILL);
                    }
                    mGoogleInterstitialAd = null;
                }

                @Override
                public void onAdShowedFullScreenContent() {
                    MoPubLog.log(getAdNetworkId(), SHOW_SUCCESS, ADAPTER_NAME);
                    if (mInteractionListener != null) {
                        mInteractionListener.onAdShown();
                    }
                }

                @Override
                public void onAdImpression() {
                    if (mInteractionListener != null) {
                        mInteractionListener.onAdImpression();
                    }
                }
            });
        }

        @Override
        public void onAdFailedToLoad(@NonNull LoadAdError loadAdError) {
            Preconditions.checkNotNull(loadAdError);
            MoPubLog.log(getAdNetworkId(), LOAD_FAILED, ADAPTER_NAME, MoPubErrorCode.ADAPTER_CONFIGURATION_ERROR.getIntCode(), MoPubErrorCode.ADAPTER_CONFIGURATION_ERROR);
            MoPubLog.log(getAdNetworkId(), CUSTOM, ADAPTER_NAME, "Failed to load Google " + "interstitial. " + loadAdError.getMessage());
            if (mLoadListener != null) {
                mLoadListener.onAdLoadFailed(MoPubErrorCode.ADAPTER_CONFIGURATION_ERROR);
            }
        }
    });
    MoPubLog.log(getAdNetworkId(), LOAD_ATTEMPTED, ADAPTER_NAME);
}
Also used : RequestConfiguration(com.google.android.gms.ads.RequestConfiguration) LoadAdError(com.google.android.gms.ads.LoadAdError) AdRequest(com.google.android.gms.ads.AdRequest) FullScreenContentCallback(com.google.android.gms.ads.FullScreenContentCallback) NonNull(androidx.annotation.NonNull) InterstitialAdLoadCallback(com.google.android.gms.ads.interstitial.InterstitialAdLoadCallback) InterstitialAd(com.google.android.gms.ads.interstitial.InterstitialAd) LoadAdError(com.google.android.gms.ads.LoadAdError) AdError(com.google.android.gms.ads.AdError)

Example 2 with InterstitialAd

use of com.google.android.gms.ads.interstitial.InterstitialAd in project quickstart-android by firebase.

the class FirstFragment method requestNewInterstitial.

/**
 * Load a new interstitial ad asynchronously.
 */
private void requestNewInterstitial() {
    AdRequest adRequest = new AdRequest.Builder().build();
    mAdView.loadAd(adRequest);
    // AdMob ad unit IDs are not currently stored inside the google-services.json file.
    // Developers using AdMob can store them as custom values in a string resource file or
    // simply use constants. Note that the ad units used here are configured to return only test
    // ads, and should not be used outside this sample.
    InterstitialAd.load(getContext(), getString(R.string.interstitial_ad_unit_id), adRequest, new InterstitialAdLoadCallback() {

        @Override
        public void onAdLoaded(@NonNull InterstitialAd interstitialAd) {
            super.onAdLoaded(interstitialAd);
            mInterstitialAd = interstitialAd;
            // Ad received, ready to display
            if (mLoadInterstitialButton != null) {
                mLoadInterstitialButton.setEnabled(true);
            }
            mInterstitialAd.setFullScreenContentCallback(new FullScreenContentCallback() {

                @Override
                public void onAdDismissedFullScreenContent() {
                    super.onAdDismissedFullScreenContent();
                    requestNewInterstitial();
                    beginSecondActivity();
                }
            });
        }

        @Override
        public void onAdFailedToLoad(@NonNull LoadAdError loadAdError) {
            super.onAdFailedToLoad(loadAdError);
            mInterstitialAd = null;
            Log.w(TAG, "onAdFailedToLoad:" + loadAdError.getMessage());
        }
    });
}
Also used : AdRequest(com.google.android.gms.ads.AdRequest) LoadAdError(com.google.android.gms.ads.LoadAdError) FullScreenContentCallback(com.google.android.gms.ads.FullScreenContentCallback) InterstitialAdLoadCallback(com.google.android.gms.ads.interstitial.InterstitialAdLoadCallback) InterstitialAd(com.google.android.gms.ads.interstitial.InterstitialAd)

Aggregations

AdRequest (com.google.android.gms.ads.AdRequest)2 FullScreenContentCallback (com.google.android.gms.ads.FullScreenContentCallback)2 LoadAdError (com.google.android.gms.ads.LoadAdError)2 InterstitialAd (com.google.android.gms.ads.interstitial.InterstitialAd)2 InterstitialAdLoadCallback (com.google.android.gms.ads.interstitial.InterstitialAdLoadCallback)2 NonNull (androidx.annotation.NonNull)1 AdError (com.google.android.gms.ads.AdError)1 RequestConfiguration (com.google.android.gms.ads.RequestConfiguration)1