Search in sources :

Example 1 with FullScreenContentCallback

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

the class GooglePlayServicesRewardedVideo method load.

@Override
protected void load(@NonNull final Context context, @NonNull final AdData adData) {
    Preconditions.checkNotNull(context);
    Preconditions.checkNotNull(adData);
    setAutomaticImpressionAndClickTracking(false);
    mContext = context;
    final Map<String, String> extras = adData.getExtras();
    mAdUnitId = extras.get(KEY_EXTRA_AD_UNIT_ID);
    if (TextUtils.isEmpty(mAdUnitId)) {
        MoPubLog.log(getAdNetworkId(), LOAD_FAILED, ADAPTER_NAME, MoPubErrorCode.ADAPTER_CONFIGURATION_ERROR.getIntCode(), MoPubErrorCode.ADAPTER_CONFIGURATION_ERROR);
        if (mLoadListener != null) {
            mLoadListener.onAdLoadFailed(MoPubErrorCode.ADAPTER_CONFIGURATION_ERROR);
        }
        return;
    }
    if (!(context instanceof Activity)) {
        MoPubLog.log(getAdNetworkId(), CUSTOM, ADAPTER_NAME, "Context passed to load " + "was not an Activity.");
        if (mLoadListener != null) {
            mLoadListener.onAdLoadFailed(MoPubErrorCode.ADAPTER_CONFIGURATION_ERROR);
        }
        return;
    }
    final AdRequest.Builder builder = new AdRequest.Builder();
    builder.setRequestAgent("MoPub");
    // Publishers may append a content URL by passing it to the
    // GooglePlayServicesMediationSettings instance when initializing the MoPub SDK:
    // https://developers.mopub.com/docs/mediation/networks/google/#android
    String contentUrl = extras.get(KEY_CONTENT_URL);
    if (TextUtils.isEmpty(contentUrl)) {
        contentUrl = GooglePlayServicesMediationSettings.getContentUrl();
    }
    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
    // GooglePlayServicesMediationSettings instance when initializing the MoPub SDK:
    // https://developers.mopub.com/docs/mediation/networks/google/#android
    String testDeviceId = extras.get(TEST_DEVICES_KEY);
    if (TextUtils.isEmpty(testDeviceId)) {
        testDeviceId = GooglePlayServicesMediationSettings.getTestDeviceId();
    }
    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 isTFCDString = extras.get(TAG_FOR_CHILD_DIRECTED_KEY);
    final Boolean isTFCD;
    if (!TextUtils.isEmpty(isTFCDString)) {
        isTFCD = Boolean.valueOf(isTFCDString);
    } else {
        isTFCD = GooglePlayServicesMediationSettings.isTaggedForChildDirectedTreatment();
    }
    if (isTFCD != null) {
        if (isTFCD) {
            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 isTFUAString = extras.get(TAG_FOR_UNDER_AGE_OF_CONSENT_KEY);
    final Boolean isTFUA;
    if (!TextUtils.isEmpty(isTFUAString)) {
        isTFUA = Boolean.valueOf(isTFUAString);
    } else {
        isTFUA = GooglePlayServicesMediationSettings.isTaggedForUnderAgeOfConsent();
    }
    if (isTFUA != null) {
        if (isTFUA) {
            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();
    RewardedAd.load(context, mAdUnitId, adRequest, new RewardedAdLoadCallback() {

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

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

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

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

                @Override
                public void onAdDismissedFullScreenContent() {
                    MoPubLog.log(getAdNetworkId(), DID_DISAPPEAR, ADAPTER_NAME);
                    if (mInteractionListener != null) {
                        mInteractionListener.onAdDismissed();
                    }
                    mRewardedAd = null;
                }
            });
        }

        @Override
        public void onAdFailedToLoad(@NonNull LoadAdError loadAdError) {
            Preconditions.checkNotNull(loadAdError);
            MoPubLog.log(getAdNetworkId(), CUSTOM, ADAPTER_NAME, "Failed to load " + "Google rewarded video. " + loadAdError.getMessage());
            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 with message: " + loadAdError.getMessage() + ". Caused by: " + loadAdError.getCause());
            if (mLoadListener != null) {
                mLoadListener.onAdLoadFailed(MoPubErrorCode.ADAPTER_CONFIGURATION_ERROR);
            }
            mRewardedAd = null;
        }
    });
    MoPubLog.log(getAdNetworkId(), LOAD_ATTEMPTED, ADAPTER_NAME);
}
Also used : RequestConfiguration(com.google.android.gms.ads.RequestConfiguration) LoadAdError(com.google.android.gms.ads.LoadAdError) Activity(android.app.Activity) RewardedAdLoadCallback(com.google.android.gms.ads.rewarded.RewardedAdLoadCallback) AdRequest(com.google.android.gms.ads.AdRequest) RewardedAd(com.google.android.gms.ads.rewarded.RewardedAd) FullScreenContentCallback(com.google.android.gms.ads.FullScreenContentCallback) NonNull(androidx.annotation.NonNull) AtomicBoolean(java.util.concurrent.atomic.AtomicBoolean) LoadAdError(com.google.android.gms.ads.LoadAdError) AdError(com.google.android.gms.ads.AdError)

Example 2 with FullScreenContentCallback

use of com.google.android.gms.ads.FullScreenContentCallback 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 3 with FullScreenContentCallback

use of com.google.android.gms.ads.FullScreenContentCallback 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)3 FullScreenContentCallback (com.google.android.gms.ads.FullScreenContentCallback)3 LoadAdError (com.google.android.gms.ads.LoadAdError)3 NonNull (androidx.annotation.NonNull)2 AdError (com.google.android.gms.ads.AdError)2 RequestConfiguration (com.google.android.gms.ads.RequestConfiguration)2 InterstitialAd (com.google.android.gms.ads.interstitial.InterstitialAd)2 InterstitialAdLoadCallback (com.google.android.gms.ads.interstitial.InterstitialAdLoadCallback)2 Activity (android.app.Activity)1 RewardedAd (com.google.android.gms.ads.rewarded.RewardedAd)1 RewardedAdLoadCallback (com.google.android.gms.ads.rewarded.RewardedAdLoadCallback)1 AtomicBoolean (java.util.concurrent.atomic.AtomicBoolean)1