Reputation: 41
Can someone tell how to implement admob rewarded video in libgdx since RewardedVideoAdListener became depricated, please?
AndroidLauncher:
public class AndroidLauncher extends AndroidApplication implements AdsController {
@Override
protected void onCreate (Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
AndroidApplicationConfiguration config = new AndroidApplicationConfiguration();
game = new MyGame(this);
View gameView = initializeForView(game, config);
layout = new RelativeLayout(this);
layout.addView(gameView, RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.MATCH_PARENT);
rewardedAd = new RewardedAd(this, "ca-app-pub-3940256099942544/5224354917");
RewardedAdLoadCallback adLoadCallback = new RewardedAdLoadCallback() {
@Override
public void onRewardedAdLoaded() {
// Ad successfully loaded.
}
@Override
public void onRewardedAdFailedToLoad(LoadAdError adError) {
// Ad failed to load.
}
};
rewardedAd.loadAd(new AdRequest.Builder().build(), adLoadCallback);
}
and show() method as admob docs:
@Override
public void showRewardedVideo() {
if (rewardedAd.isLoaded()) {
Activity activityContext = MainActivity.this
RewardedAdCallback adCallback = new RewardedAdCallback() {
@Override
public void onRewardedAdOpened() {
// Ad opened.
}
@Override
public void onRewardedAdClosed() {
// Ad closed.
}
@Override
public void onUserEarnedReward(@NonNull RewardItem reward) {
// User earned reward.
}
@Override
public void onRewardedAdFailedToShow(AdError adError) {
// Ad failed to display.
}
};
rewardedAd.show(activityContext, adCallback);
}
}
How to get that Activity to pass it in ad.show() method or what the other ways to show ad?
Upvotes: 1
Views: 299
Reputation: 41
Problem solved
@Override
public void showRewardedVideo() {
runOnUiThread(new Runnable() {
@Override
public void run() {
if (rewardedAd.isLoaded()) {
Activity activityContext = getParent();
RewardedAdCallback adCallback = new RewardedAdCallback() {
@Override
public void onRewardedAdOpened() {
// Ad opened.
}
@Override
public void onRewardedAdClosed() {
// Ad closed.
}
@Override
public void onUserEarnedReward(@NonNull RewardItem reward) {
// User earned reward.
}
@Override
public void onRewardedAdFailedToShow(AdError adError) {
// Ad failed to display.
}
};
rewardedAd.show(activityContext, adCallback);
} else {
loadRewardedVideoAd();
}
}
});
}
Upvotes: 1