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);
}
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());
}
});
}
Aggregations