gpt4 book ai didi

android - AdMob 奖励视频在切换 Activity 时中断

转载 作者:行者123 更新时间:2023-11-29 16:42:26 25 4
gpt4 key购买 nike

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

1-用户启动应用。

2-用户想要访问 RoomOne,因此按下按钮。

3-Rewarded Video Ad 展示成功,当它完成时,广告通过将用户带到 RoomOne 来奖励用户。

4-用户在 RoomOne 中完成了他想做的事情并按下返回按钮回到 MainActivity。

5-他被带到 MainActivity。

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

我试图弄清楚 Toasts 和日志发生了什么,似乎当 AdMob 奖励视频加载到一个 Activity 中,然后用户转到另一个 Activity 并返回到原始 Activity 时,SDK 无法加载广告。我的 SDK 设置正确,它可以正常加载奖励视频,但是当用户切换 Activity 时它似乎会中断,但如果他停留在同一个 Activity 上,广告视频通常一个接一个地显示。

我的代码:

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();
}

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

最佳答案

如果用户获得奖励,只需使用 Flag With Boolean,然后设置 flag==true,然后使用 if (flag==true) 这样的条件,然后您就可以允许用户对 Room Activity Like,

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

现在,当用户从 Room Activity 返回时,您必须像这样管理这个 Flag

(我创建了用于重定向 RoomActivity 的按钮,您可以使用您的 Intent )

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();
}
}
});

关于android - AdMob 奖励视频在切换 Activity 时中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50019627/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com