【问题标题】:Switching to a new activity as a rewarded ad reward切换到新活动作为奖励广告奖励
【发布时间】:2021-03-31 14:00:57
【问题描述】:

我正在尝试将功能设置为在观看奖励广告时切换到新活动。该功能是通过使用图片来实现的。我的代码是这样工作的。当他点击图片时,他展示了一个有奖励的广告,如果用户没有观看广告并关闭了广告,他仍然会在没有观看广告的情况下进入新的活动。我的代码有什么问题?)

      
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_selection);
    Log.d(LOG_TAG, "SAonCreate");

    MobileAds.initialize(this, new OnInitializationCompleteListener() {
        @Override
        public void onInitializationComplete(InitializationStatus initializationStatus) { }
    });
    mRewardedVideoAd= MobileAds.getRewardedVideoAdInstance(this);

    mRewardedVideoAd.loadAd("ca-app-pub-3940256099942544/5224354917",new AdRequest.Builder().build());      // You need to pass your rewared video ad Id here...

    mRewardedVideoAd.setRewardedVideoAdListener(new RewardedVideoAdListener() {
        @Override
        public void onRewardedVideoAdLoaded() {

        }

        @Override
        public void onRewardedVideoAdOpened() {

        }

        @Override
        public void onRewardedVideoStarted() {

        }

        @Override
        public void onRewardedVideoAdClosed() {
            mRewardedVideoAd.loadAd("ca-app-pub-3940256099942544/5224354917",new AdRequest.Builder().build());
            onRewardedVideoAdClosed();

        }

        @Override
        public void onRewarded(RewardItem rewardItem) {
            adHasBeenSeen = 1;
            Toast.makeText(SelectionActivity.this, R.string.congratulations, Toast.LENGTH_SHORT).show();
        }


        @Override
        public void onRewardedVideoAdLeftApplication() {
            //User clicked on ad here write your caching code here....
            Toast.makeText(SelectionActivity.this, "Clicked on Ad", Toast.LENGTH_SHORT).show();

        }

        @Override
        public void onRewardedVideoAdFailedToLoad(int i) {

        }

        @Override
        public void onRewardedVideoCompleted() {


        }
    });


    findViewById(R.id.rad_button6).setOnClickListener(new View.OnClickListener() {
        public void onClick(View view) {
            if (mRewardedVideoAd.isLoaded()) {
                ImageView imageView = (ImageView) view;
                Intent intent = new Intent(SelectionActivity.this, TutorialActivity.class);
                intent.putExtra("i", Integer.parseInt(imageView.getTag().toString()));
                startActivity(intent);
                mRewardedVideoAd.show();
                findViewById(R.id.rad_button6).setVisibility(View.GONE);

            }
            else {
                Toast.makeText(SelectionActivity.this, R.string.please_wait, Toast.LENGTH_SHORT).show();
            }
        }
    });

    findViewById(R.id.rad_button10).setOnClickListener(new View.OnClickListener() {
        public void onClick(View view) {
            if (mRewardedVideoAd.isLoaded()) {
                ImageView imageView = (ImageView) view;
                Intent intent = new Intent(SelectionActivity.this, TutorialActivity.class);
                intent.putExtra("i", Integer.parseInt(imageView.getTag().toString()));
                startActivity(intent);
                mRewardedVideoAd.show();
                findViewById(R.id.rad_button10).setVisibility(View.GONE);

            }
            else {
                Toast.makeText(SelectionActivity.this, R.string.please_wait, Toast.LENGTH_SHORT).show();
            }
        }
    });

【问题讨论】:

  • onRewardedVideoCompleted 中没有任何代码。你怎么知道视频被观看了?
  • onRewardedVideoCompleted中使用意图

标签: java android android-intent android-activity rewardedvideoad


【解决方案1】:

答案是 - 将 boalen 放在代码中。


boolean rewardedwatch;


  public void showVideoAds(final View view) {
       if (mRewardedVideoAd.isLoaded()) {
           mRewardedVideoAd.setRewardedVideoAdListener(new RewardedVideoAdListener() {
               @Override
               public void onRewardedVideoAdLoaded() {

               }

               @Override
               public void onRewardedVideoAdOpened() {

               }

               @Override
               public void onRewardedVideoStarted() {

               }

               @Override
               public void onRewardedVideoAdClosed() {
                   mRewardedVideoAd.loadAd("ca-app-pub-6197761637111122/1983080566",new AdRequest.Builder().build());
                   if (rewardedwatch) {
                       Toast.makeText(SelectionActivity.this, R.string.congratulations, Toast.LENGTH_SHORT).show();
                       ImageView imageView = (ImageView) view;
                       Intent intent = new Intent(SelectionActivity.this, TutorialActivity.class);
                       intent.putExtra("i", Integer.parseInt(imageView.getTag().toString()));
                       startActivity(intent);
                       imageView.setVisibility(View.GONE);
                       rewardedwatch = false;
                   }

               }


               @Override
               public void onRewarded(RewardItem rewardItem) {
                   rewardedwatch = true;



               }


               @Override
               public void onRewardedVideoAdLeftApplication() {
                   //User clicked on ad here write your caching code here....
                   Toast.makeText(SelectionActivity.this, "Clicked on Ad", Toast.LENGTH_SHORT).show();

               }

               @Override
               public void onRewardedVideoAdFailedToLoad(int i) {

               }

               @Override
               public void onRewardedVideoCompleted() {
                   rewardedwatch = true;

               }
           });

           mRewardedVideoAd.show();
       }
       else {
           Toast.makeText(SelectionActivity.this, R.string.please_wait, Toast.LENGTH_SHORT).show();
       }
   }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-14
    • 2018-10-05
    • 2018-11-24
    • 1970-01-01
    相关资源
    最近更新 更多