Admob Rewarded Video Если пользователь закрывает видео, не просматривая его
Я использую WebView, и я все настроил. Если пользователь заходит на сайт под названием X, появляются объявления. Если пользователь закрывает объявление, не отслеживая его, я хочу, чтобы страница WebView вернулась на один шаг назад. Как я могу это сделать? Я думал о добавлении его на сторону onRewardedVideoAdClosed(), но пользователи, которые успешно воспроизводят видео, также делают шаг назад.
@Override
public void onRewardedVideoAdClosed() {
Toast.makeText(getActivity(), "Reklam sayfası kapatıldı.", Toast.LENGTH_SHORT).show();
loadRewardedVideoAd();
webView.goBack(); //doesn't work
}
private void loadRewardedVideoAd() {
mRewardedVideoAd.loadAd("ca-app-pub-3940256099942544/5224354917",
new AdRequest.Builder().build());
}
@Override
public void onRewarded(RewardItem reward) {
Toast.makeText(getActivity(), "Başarılı! İçerik görüntüleme hakkı kazandınız. " ,/*+ reward.getType() + " amount: " + reward.getAmount(),*/ Toast.LENGTH_SHORT).show();
// Reward the user.
}
@Override
public void onRewardedVideoAdLeftApplication() {
Toast.makeText(getActivity(), "onRewardedVideoAdLeftApplication", Toast.LENGTH_SHORT).show();
}
@Override
public void onRewardedVideoAdClosed() {
Toast.makeText(getActivity(), "Reklam sayfası kapatıldı.", Toast.LENGTH_SHORT).show();
loadRewardedVideoAd();
}
@Override
public void onRewardedVideoAdFailedToLoad(int errorCode) {
Toast.makeText(getActivity(), "Reklam yükelmesi başarısız oldu.", Toast.LENGTH_SHORT).show();
}
@Override
public void onRewardedVideoAdLoaded() {
Toast.makeText(getActivity(), "Geçiş reklamları hazır.", Toast.LENGTH_SHORT).show();
}
@Override
public void onRewardedVideoAdOpened() {
Toast.makeText(getActivity(), "Geçiş reklamı açıldı.", Toast.LENGTH_SHORT).show();
}
@Override
public void onRewardedVideoStarted() {
Toast.makeText(getActivity(), "Geçiş reklamı başladı.", Toast.LENGTH_SHORT).show();
}
@Override
public void onRewardedVideoCompleted() {
Toast.makeText(getActivity(), "Reklam bitti.", Toast.LENGTH_SHORT).show();
}
@Override
public void onResume() {
mRewardedVideoAd.resume(getActivity());
super.onResume();
}
@Override
public void onPause() {
mRewardedVideoAd.pause(getActivity());
super.onPause();
}
@Override
public void onDestroy() {
mRewardedVideoAd.destroy(getActivity());
super.onDestroy();
}
0 ответов
Вы можете просто вспомнить, заработал ли пользователь награду. Следующий код основан на новом API, но реализовать эту идею с помощью старого API должно быть тривиально.
RewardedAdCallback adCallback = new RewardedAdCallback() {
boolean rewardEarned = false;
@Override
public void onRewardedAdOpened() {
// Ad opened.
}
@Override
public void onRewardedAdClosed() {
loadAd();
showResponse(rewardEarned ? R.string.rewardEarned : R.string.adAborted);
}
@Override
public void onUserEarnedReward(@NonNull RewardItem reward) {
rewardEarned = true;
}
@Override
public void onRewardedAdFailedToShow(int errorCode) {
// Ad failed to display
}
};