Rewarded
Overview
Loading rewarded ad consists of several stages:
- Loading BidMachine
RewardedRequest
- Setting up
AdManagerAdRequest
according to loaded BidMachineRewardedRequest
- Loading AdManager
RewardedAd
with configuredAdManagerAdRequest
- Loading BidMachine
RewardedAd
- Showing BidMachine
RewardedAd
Loading BidMachine RewardedRequest
Create a new RewardedRequest
instance with AdRequestListener
.
Call request
on the RewardedRequest
instance to start loading.
When the onRequestSuccess
callback is triggered (it means that the request has been successfully loaded) - you can proceed to AdManagerAdRequest
settings using RewardedRequest
.
// Create new BidMachine request
RewardedRequest rewardedRequest = new RewardedRequest.Builder()
.setListener(new RewardedRequest.AdRequestListener() {
@Override
public void onRequestSuccess(@NonNull RewardedRequest rewardedRequest,
@NonNull AuctionResult auctionResult) {
runOnUiThread(() -> loadAdManagerRewarded());
}
})
.build();
// Request an ad from BidMachine without loading it
rewardedRequest.request(...);
Setting up AdManagerAdRequest
Steps to set up AdManagerAdRequest
by BidMachine RewardedRequest
:
- Create new
AdManagerAdRequest
instance
AdManagerAdRequest adManagerAdRequest =
AMBidMachineUtils.createAdManagerRequest(rewardedRequest);
- Create new
AdManagerAdRequest.Builder
instance
AdManagerAdRequest.Builder adManagerAdRequestBuilder =
AMBidMachineUtils.createAdManagerRequestBuilder(rewardedRequest);
AdManagerAdRequest adManagerAdRequest = adManagerAdRequestBuilder.build();
- Fill existing
AdManagerAdRequest.Builder
instance
AdManagerAdRequest.Builder adManagerAdRequestBuilder =
new AdManagerAdRequest.Builder();
AMBidMachineUtils.appendRequest(adManagerAdRequestBuilder, rewardedRequest);
AdManagerAdRequest adManagerAdRequest = adManagerAdRequestBuilder.build();
Loading AdManager RewardedAd
When configuring the AdManager RewardedAd
, add an extra check to the top of onAdLoaded
callback in the AdListener to determine if BidMachine has won/lost the mediation. Also, call notifyMediationWin
/notifyMediationLoss
on the RewardedRequest
instance when BidMachine wins/loses the mediation.
Use the AdManagerAdRequest
that was created during the previous step to load the AdManager RewardedAd
.
RewardedAdLoadCallback adLoadCallback = new RewardedAdLoadCallback() {
@Override
public void onAdLoaded(@NonNull RewardedAd rewardedAd) {
// Checking whether it is BidMachine or not
if (AMBidMachineUtils.isBidMachineRewarded(rewardedAd)) {
// Notify BidMachine about win
bidMachineRewardedRequest.notifyMediationWin();
// Load BidMachine ad object, before show BidMachine ad
loadBidMachineRewarded();
} else {
// Notify BidMachine about loss
bidMachineRewardedRequest.notifyMediationLoss();
}
}
};
RewardedAd.load(..., ..., adManagerAdRequest, adLoadCallback);
Loading BidMachine RewardedAd
If BidMachine has won the mediation, the next step will be loading BidMachine RewardedAd
.
RewardedAd rewardedAd = new RewardedAd(...);
rewardedAd.setListener(...);
rewardedAd.load(rewardedRequest);
Show BidMachine RewardedAd
After loading BidMachine RewardedAd
, show it by calling show
on the RewardedAd
instance.
Don't forget to check if it can be shown by calling
canShow
on theRewardedAd
instance before showing
if (rewardedAd != null && rewardedAd.canShow()) {
rewardedAd.show();
}
Sample App
You can find Sample App with BidMachine and AdManager here: Github
Updated 3 months ago