Rewarded
Overview
Loading rewarded ad consists of several stages:
- Loading BidMachine
RewardedRequest - Setting up
AdManagerAdRequestaccording to loaded BidMachineRewardedRequest - Loading AdManager
RewardedAdwith 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
AdManagerAdRequestinstance
AdManagerAdRequest adManagerAdRequest =
AMBidMachineUtils.createAdManagerRequest(rewardedRequest);
- Create new
AdManagerAdRequest.Builderinstance
AdManagerAdRequest.Builder adManagerAdRequestBuilder =
AMBidMachineUtils.createAdManagerRequestBuilder(rewardedRequest);
AdManagerAdRequest adManagerAdRequest = adManagerAdRequestBuilder.build();
- Fill existing
AdManagerAdRequest.Builderinstance
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
canShowon theRewardedAdinstance before showing
if (rewardedAd != null && rewardedAd.canShow()) {
rewardedAd.show();
}
Sample App
You can find Sample App with BidMachineSDK and Ad Manager here: Github
Updated about 2 years ago