Как запретить пользователю закрывать рекламное вознаграждение при нажатии на спину - PullRequest
0 голосов
/ 30 октября 2019

У меня есть приложение, которое будет показывать награды Admob и межзвездную рекламу, но я заметил, что пользователь может просто нажать кнопку «Назад», и реклама закроется. есть ли способ предотвратить закрытие объявления, просто нажав кнопку «Назад», которую я попытался с помощью метода onBackPressed (), но безуспешно


public class EarnActivity extends AppCompatActivity implements RewardedVideoAdListener{
  private RewardedVideoAd mAd;
  private boolean showing;


 protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.earn);
        runAd();


    }

это способ запуска объявления


private void runAd(){

 MobileAds.initialize(this, "App ID");

 mAd = MobileAds.getRewardedVideoAdInstance(this);
 mAd.setRewardedVideoAdListener(this);
 loadRewardVideoAd();
 mAd.show();


}

loadRewardVideoAd(){

  if(!mAd.isLoaded())
        {
             mAd.loadAd("ad-number", new AdRequest.Builder().build());
        }

}

и это мои методы @Override, включая метод onbackpressed

 @Override
 public void onRewardedVideoAdLoaded() {

 }

 @Override
 public void onRewardedVideoAdOpened() {

 }

 @Override
 public void onRewardedVideoStarted() {
  showing = true;
 }

 @Override
 public void onRewardedVideoAdClosed() {
     loadRewardVideoAd();
     showing = false;
 }

 @Override
 public void onRewarded(RewardItem rewardItem) {

 }

 @Override
 public void onRewardedVideoCompleted(){

 }

 @Override
 public void onRewardedVideoAdLeftApplication() {

 }

 @Override
 public void onRewardedVideoAdFailedToLoad(int i) {

     loadRewardVideoAd();
 }

 @Override
 public void onBackPressed() {

    if(showing){

   }else{
     super.onBackPressed();

   }
 }

}

1 Ответ

0 голосов
/ 30 октября 2019

Другой способ, он пытается переопределить onKeyEvent. Тем не менее, просто убедитесь, что вы делаете с этим.

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
 if (keyCode == KeyEvent.KEYCODE_BACK) {

   return true;
 }
   return super.onKeyDown(keyCode, event);    
}
...