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