如果AdMob的奖励广告已经加载成功但是没有显示出来,可能是因为没有正确地将广告与显示的View关联起来。以下是一个可能的解决方法的代码示例:
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdView;
import com.google.android.gms.ads.MobileAds;
import com.google.android.gms.ads.reward.RewardedVideoAd;
import com.google.android.gms.ads.reward.RewardedVideoAdListener;
import com.google.android.gms.ads.rewarded.RewardItem;
import com.google.android.gms.ads.rewarded.RewardedAd;
import com.google.android.gms.ads.rewarded.RewardedAdLoadCallback;
public class MainActivity extends AppCompatActivity implements RewardedVideoAdListener {
private RewardedVideoAd rewardedVideoAd;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
MobileAds.initialize(this, "YOUR_ADMOB_APP_ID");
rewardedVideoAd = MobileAds.getRewardedVideoAdInstance(this);
rewardedVideoAd.setRewardedVideoAdListener(this);
loadRewardedVideoAd();
}
private void loadRewardedVideoAd() {
rewardedVideoAd.loadAd("YOUR_REWARDED_AD_UNIT_ID",
new AdRequest.Builder().build());
}
// ...
@Override
public void onRewardedVideoAdLoaded() {
if (rewardedVideoAd.isLoaded()) {
rewardedVideoAd.show();
}
}
// ...
@Override
public void onRewarded(RewardItem rewardItem) {
// 处理奖励
}
// ...
}
请确保替换代码中的YOUR_ADMOB_APP_ID
和YOUR_REWARDED_AD_UNIT_ID
为您自己的AdMob应用ID和奖励广告单元ID。此外,还要确保在布局文件中添加一个用于显示广告的AdView。