当前位置: 首页 > 知识库问答 >
问题:

AdMob切换活动时奖励视频中断

方砚
2023-03-14

我的应用程序由两个活动组成:MainActivity和RoomOne,当用户按下按钮时,会显示奖励视频广告,作为奖励,用户可以访问RoomOne活动,但是当用户被带到RoomOne活动时,当他返回MainActivity时,他不能再去RoomOne,因为奖励视频广告拒绝显示,所以是这样的:

1用户启动应用程序。

2-User想要访问RoomOne,请按一个按钮。

3奖励视频广告成功显示,当它完成广告奖励用户带他到RoomOne。

4-用户已经完成了他想在RoomOne中做的事情,并按下后退按钮返回Mainactive

5-他被带到主要活动。

6-现在他想回到RoomOne,但他不能,因为当他按下按钮时,广告不会显示,现在他需要重新启动应用程序才能再次进入。

我试图弄清楚吐司和日志是怎么回事,似乎当AdMob奖励视频加载到活动中,然后用户转到另一个活动并返回原始活动时,SDK无法加载广告。我的SDK设置正确,它正常加载奖励视频,但是当用户切换活动时,它似乎会中断,但是如果他保持在同一活动上,广告视频会一个接一个地正常显示。

我的代码:

public class MainActivity extends AppCompatActivity implements RewardedVideoAdListener{

    private RewardedVideoAd mAd;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    //Initialise Rewarded Video
    MobileAds.initialize(getApplicationContext(), "ca-app-pub-3940256099942544/5224354917");
    mAd = MobileAds.getRewardedVideoAdInstance(this);
    mAd.setRewardedVideoAdListener(this);
    loadRewardedVideo();
}

private void loadRewardedVideo(){
    if(!mAd.isLoaded()){
        mAd.loadAd("ca-app-pub-3940256099942544/5224354917", new AdRequest.Builder().build());
    }
}

public void ButtonPressed(View v) {
    if(mAd.isLoaded()){
        mAd.show();
    }
}

@Override
public void onRewardedVideoAdLoaded() {

}

@Override
public void onRewardedVideoAdOpened() {

}

@Override
public void onRewardedVideoStarted() {

}

@Override
public void onRewardedVideoAdClosed() {
    loadRewardedVideo();
}

@Override
public void onRewarded(RewardItem rewardItem) {
    //updateBalance();
    //startTimer();
    startActivity(new Intent(MainActivity.this, RoomOne.class));
}

@Override
public void onRewardedVideoAdLeftApplication() {

}

@Override
public void onRewardedVideoAdFailedToLoad(int i) {

}

@Override
protected void onPause() {
    mAd.pause(this);
    super.onPause();
}

@Override
protected void onResume() {
    mAd.resume(this);
    super.onResume();
}

任何帮助都将不胜感激,谢谢!

共有2个答案

卫沈义
2023-03-14

在onResume而不是onCreate中加载奖励视频广告:

@Override
    protected void onResume() {
        super.onResume();
        loadRewardedVideo();
}
傅彬
2023-03-14

如果用户得到奖励,只需使用带有布尔值的标志,然后设置标志==true,然后使用类似于if(标志==true)的条件,然后您可以允许用户进行如下活动:,

@Override
public void onRewarded(RewardItem rewardItem) {
  flag=true;
    startActivity(new Intent(MainActivity.this, RoomOne.class));
}

现在,当用户从房间活动返回时,您必须像这样管理此标志

(我为重定向RoomActivity创建了按钮,您可以使用您的意图)

button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if(flag==true){
                    startActivity(new Intent(MainActivity.this, RoomOne.class));
                }else {
                    Toast.makeText(MainActivity.this, "Plaese watch Video First", Toast.LENGTH_SHORT).show();
                }
            }
        });
 类似资料:
  • 我在Unity3d中显示admob插件的奖励视频广告时遇到问题。首先,这是我的脚本: 我用一个按钮运行RequestRewardVideo()方法,但什么也没发生。我尝试运行按钮中的和中的方法,但只显示了视频1/3次。。。这个怎么了? 提前感谢

  • 我正在尝试使用AdMob显示奖励视频广告。我添加了2个广告网络(AdColony、InMobi)并提供了所有必需的详细信息,如帐户ID等。 我还下载并编译了所需的网络SDK和适配器。 广告代码: 问题是我总是从AdMob那里得到同样的回应: 获取广告回复时出现问题。错误代码:0 有什么办法解决这个问题吗? 更新: 我通过从AdRequest中删除“addTestDevice()”克服了加载广告的问

  • 我最近根据本教程实现了admob(7.9.1版)奖励视频:https://firebase.google.com/docs/admob/ios/rewarded-video 但我无法使用此功能编译我的应用程序。我收到以下错误: 我以前做过横幅广告和插页广告,效果很好。 有什么建议吗?

  • 最近我收到了Admob发来的以下邮件: 让用户参与奖励视频并最大化内容价值 本周在GDC上,我们从AdWords推出了谷歌的视频广告需求,让所有AdMob开发者都可以访问。现在有了AdMob rewarded mediation,除了选择第三方资源之外,您还可以访问Google demand(谷歌需求),从而为更广泛的货币化选择打开了大门。如果您已经在AdMob奖励中介,AdMob奖励视频广告默认

  • 我试图在我的Android应用程序中使用AdMob奖励广告。为了包括它在引用的应用程序,我需要等待奖励的视频加载后,用户点击按钮。我在下面的整个代码中都在尝试它,但我得到了错误: IllegalStateException:必须在主UI线程上调用showAd。 当点击臀部时: 重写了侦听器: 使用mRewardedVideoad.isLoaded()函数也会触发同样的问题。

  • 我已经成功地将横幅广告和基于图像的间隙广告集成到我的应用程序中,没有任何问题。 我正在考虑添加一个基于奖励的视频广告,但是我不确定我是否可以简单地按照插页广告设置代码,但将adUnitID更改为我在Admob中设置的奖励视频广告的代码? 当我这样做的时候,测试广告显示了一个间隙,因此我不知道视频是否会显示。 关于以这种方式设置它,我在网上找不到什么指导。 这是我目前使用的: