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
            }
        };
Другие вопросы по тегам