Java源码示例:com.applovin.sdk.AppLovinAd
示例1
@Override
public void adReceived(final AppLovinAd ad)
{
log( DEBUG, "Interstitial did load ad: " + ad.getAdIdNumber() );
enqueueAd( ad, zoneId );
runOnUiThread( new Runnable()
{
@Override
public void run()
{
listener.onAdLoaded();
}
} );
}
示例2
@Override
public void adReceived(final AppLovinAd ad)
{
log( DEBUG, "Rewarded video did load ad: " + ad.getAdIdNumber() );
parentActivity.runOnUiThread( new Runnable()
{
@Override
public void run()
{
try
{
MoPubRewardedVideoManager.onRewardedVideoLoadSuccess( AppLovinCustomEventRewardedVideo.this.getClass(), "" );
}
catch ( Throwable th )
{
log( ERROR, "Unable to notify listener of successful ad load.", th );
}
}
} );
}
示例3
@Override
public void showInterstitial()
{
final AppLovinAd preloadedAd = dequeueAd( zoneId );
if ( preloadedAd != null )
{
final AppLovinInterstitialAdDialog interstitialAd = AppLovinInterstitialAd.create( sdk, context );
interstitialAd.setAdDisplayListener( this );
interstitialAd.setAdClickListener( this );
interstitialAd.setAdVideoPlaybackListener( this );
interstitialAd.showAndRender( preloadedAd );
}
else
{
log( ERROR, "Failed to show an AppLovin interstitial before one was loaded" );
listener.onInterstitialFailed( MoPubErrorCode.NETWORK_INVALID_STATE );
}
}
示例4
@Override
public void adReceived(final AppLovinAd ad)
{
log( DEBUG, "Interstitial did load ad: " + ad.getAdIdNumber() );
enqueueAd( ad, zoneId );
runOnUiThread( new Runnable()
{
@Override
public void run()
{
try
{
listener.onInterstitialLoaded();
}
catch ( Throwable th )
{
log( ERROR, "Unable to notify listener of successful ad load.", th );
}
}
} );
}
示例5
@Override
public void showInterstitial()
{
final AppLovinAd preloadedAd = dequeueAd( zoneId );
if ( preloadedAd != null )
{
final AppLovinSdk sdk = AppLovinSdk.getInstance( context );
final AppLovinInterstitialAdDialog interstitialAd = AppLovinInterstitialAd.create( sdk, context );
interstitialAd.setAdDisplayListener( this );
interstitialAd.setAdClickListener( this );
interstitialAd.setAdVideoPlaybackListener( this );
interstitialAd.showAndRender( preloadedAd );
}
else
{
log( ERROR, "Failed to show an AppLovin interstitial before one was loaded" );
listener.onAdFailedToLoad( AdRequest.ERROR_CODE_INTERNAL_ERROR );
}
}
示例6
@Override
public void adHidden(AppLovinAd ad) {
ApplovinAdapter.log(DEBUG, "Rewarded video dismissed.");
AppLovinMediationAdapter.INCENTIVIZED_ADS.remove(mZoneId);
if (mFullyWatched) {
mRewardedAdCallback.onUserEarnedReward(mRewardItem);
}
mRewardedAdCallback.onAdClosed();
}
示例7
@Override
public void videoPlaybackEnded(AppLovinAd ad, double percentViewed, boolean fullyWatched) {
ApplovinAdapter.log(
DEBUG, "Rewarded video playback ended at playback percent: " + percentViewed + "%.");
mFullyWatched = fullyWatched;
if (fullyWatched) {
mRewardedAdCallback.onVideoComplete();
}
}
示例8
@Override
public void userRewardVerified(AppLovinAd ad, Map<String, String> response) {
final String currency = response.get("currency");
final String amountStr = response.get("amount");
// AppLovin returns amount as double.
final int amount = (int) Double.parseDouble(amountStr);
ApplovinAdapter.log(DEBUG, "Rewarded " + amount + " " + currency);
mRewardItem = new AppLovinRewardItem(amount, currency);
}
示例9
@Override
public void adClicked(AppLovinAd ad) {
ApplovinAdapter.log(DEBUG, "Interstitial clicked.");
mMediationInterstitialListener.onAdClicked(mAdapter);
mMediationInterstitialListener.onAdLeftApplication(mAdapter);
}
示例10
@Override
public void showInterstitial() {
synchronized (INTERSTITIAL_AD_QUEUES_LOCK) {
// Update mute state.
mSdk.getSettings().setMuted(AppLovinUtils.shouldMuteAudio(mNetworkExtras));
final Queue<AppLovinAd> queue = INTERSTITIAL_AD_QUEUES.get(mZoneId);
final AppLovinAd dequeuedAd = (queue != null) ? queue.poll() : null;
final AppLovinInterstitialAdDialog interstitialAd =
AppLovinInterstitialAd.create(mSdk, mContext);
final AppLovinInterstitialAdListener listener =
new AppLovinInterstitialAdListener(this, mMediationInterstitialListener);
interstitialAd.setAdDisplayListener(listener);
interstitialAd.setAdClickListener(listener);
interstitialAd.setAdVideoPlaybackListener(listener);
if (dequeuedAd != null) {
log(DEBUG, "Showing interstitial for zone: " + mZoneId);
interstitialAd.showAndRender(dequeuedAd);
} else {
log(DEBUG, "Attempting to show interstitial before one was loaded.");
// Check if we have a default zone interstitial available.
if (TextUtils.isEmpty(mZoneId) && interstitialAd.isAdReadyToDisplay()) {
log(DEBUG, "Showing interstitial preloaded by SDK.");
interstitialAd.show();
}
// TODO: Show ad for zone identifier if exists
else {
mMediationInterstitialListener.onAdOpened(this);
mMediationInterstitialListener.onAdClosed(this);
}
}
}
}
示例11
@Override
public void adReceived(final AppLovinAd ad) {
ApplovinAdapter.log(
DEBUG, "Banner did load ad: " + ad.getAdIdNumber() + " for zone: " + mZoneId);
mAdView.renderAd(ad);
AppLovinSdkUtils.runOnUiThread(
new Runnable() {
@Override
public void run() {
mMediationBannerListener.onAdLoaded(mAdapter);
}
});
}
示例12
@Override
public void adReceived(AppLovinAd ad) {
Log.d(TAG, "Interstitial did load ad: " + ad.getAdIdNumber());
this.ad = ad;
mInterstitalAdCallback = callback.onSuccess(AppLovinRtbInterstitialRenderer.this);
}
示例13
@Override
public void adReceived(AppLovinAd ad) {
Log.d(TAG, "Banner did load ad: " + ad.getAdIdNumber());
mBannerAdCallback = callback.onSuccess(AppLovinRtbBannerRenderer.this);
adView.renderAd(ad);
}
示例14
@Override
public void adReceived(final AppLovinAd appLovinAd) {
ad = appLovinAd;
Log.d("INFO", "Rewarded video did load ad: " + ad.getAdIdNumber());
AppLovinSdkUtils.runOnUiThread(
new Runnable() {
@Override
public void run() {
mRewardedAdCallback = mMediationAdLoadCallback.onSuccess(AppLovinMediationAdapter.this);
}
});
}
示例15
@Override
public void adHidden(final AppLovinAd ad)
{
log( DEBUG, "Rewarded video dismissed" );
if ( fullyWatched && reward != null )
{
log( DEBUG, "Rewarded" + reward.getAmount() + " " + reward.getLabel() );
MoPubRewardedVideoManager.onRewardedVideoCompleted( getClass(), "", reward );
}
MoPubRewardedVideoManager.onRewardedVideoClosed( getClass(), "" );
}
示例16
@Override
public void videoPlaybackEnded(final AppLovinAd ad, final double percentViewed, final boolean fullyWatched)
{
log( DEBUG, "Rewarded video playback ended at playback percent: " + percentViewed );
this.fullyWatched = fullyWatched;
}
示例17
@Override
public void userRewardVerified(final AppLovinAd appLovinAd, final Map map)
{
final String currency = (String) map.get( "currency" );
final int amount = (int) Double.parseDouble( (String) map.get( "amount" ) ); // AppLovin returns amount as double
log( DEBUG, "Verified " + amount + " " + currency );
reward = MoPubReward.success( currency, amount );
}
示例18
private static AppLovinAd dequeueAd(final String zoneId)
{
synchronized ( GLOBAL_INTERSTITIAL_ADS_LOCK )
{
AppLovinAd preloadedAd = null;
final Queue<AppLovinAd> preloadedAds = GLOBAL_INTERSTITIAL_ADS.get( zoneId );
if ( preloadedAds != null && !preloadedAds.isEmpty() )
{
preloadedAd = preloadedAds.poll();
}
return preloadedAd;
}
}
示例19
@Override
public void adReceived(final AppLovinAd ad)
{
log( DEBUG, "Rewarded video did load ad: " + ad.getAdIdNumber() );
runOnUiThread( new Runnable()
{
@Override
public void run()
{
listener.onAdLoaded( ApplovinAdapter.this );
}
} );
}
示例20
@Override
public void adHidden(final AppLovinAd ad)
{
log( DEBUG, "Rewarded video dismissed" );
if ( fullyWatched && reward != null )
{
log( DEBUG, "Rewarded " + reward.getAmount() + " " + reward.getType() );
listener.onRewarded( this, reward );
}
listener.onAdClosed( this );
}
示例21
@Override
public void adClicked(final AppLovinAd ad)
{
log( DEBUG, "Rewarded video clicked" );
listener.onAdClicked( this );
listener.onAdLeftApplication( this );
}
示例22
@Override
public void userRewardVerified(final AppLovinAd ad, final Map map)
{
final String currency = (String) map.get( "currency" );
final String amountStr = (String) map.get( "amount" );
final int amount = (int) Double.parseDouble( amountStr ); // AppLovin returns amount as double
log( DEBUG, "Verified " + amount + " " + currency );
reward = new AppLovinRewardItem( amount, currency );
}
示例23
private static AppLovinAd dequeueAd(final String zoneId)
{
synchronized ( GLOBAL_INTERSTITIAL_ADS_LOCK )
{
AppLovinAd preloadedAd = null;
final Queue<AppLovinAd> preloadedAds = GLOBAL_INTERSTITIAL_ADS.get( zoneId );
if ( preloadedAds != null && !preloadedAds.isEmpty() )
{
preloadedAd = preloadedAds.poll();
}
return preloadedAd;
}
}
示例24
@Override
public void adReceived(AppLovinAd appLovinAd)
{
log( "Interstitial loaded" );
showButton.setEnabled( true );
}
示例25
@Override
public void adDisplayed(AppLovinAd appLovinAd)
{
log( "Interstitial Displayed" );
}
示例26
@Override
public void adHidden(AppLovinAd appLovinAd)
{
log( "Interstitial Hidden" );
}
示例27
@Override
public void adClicked(AppLovinAd appLovinAd)
{
log( "Interstitial Clicked" );
}
示例28
@Override
public void videoPlaybackBegan(AppLovinAd appLovinAd)
{
log( "Video Started" );
}
示例29
@Override
public void videoPlaybackEnded(AppLovinAd appLovinAd, double percentViewed, boolean wasFullyViewed)
{
log( "Video Ended" );
}
示例30
@Override
public void adDisplayed(AppLovinAd ad) {
ApplovinAdapter.log(DEBUG, "Rewarded video displayed.");
mRewardedAdCallback.onAdOpened();
mRewardedAdCallback.reportAdImpression();
}