您好,我是一名新开发人员,我在android工作室创建了我的第一个应用程序。我在Admob上添加广告单元时做错了什么?
我使用Admob
制作的测试广告来测试我的广告是否可以正常工作。当我终于发布我的应用程序与我的广告单元代码出于某种原因,它不起作用。然后我在网上查了一下,发现它们可能需要一些时间才能激活,所以我等了一段时间,直到3天过去,但仍然无效。
下面是我采取的步骤:
按照AdMob提供为执行代码的回报广告
添加网络权限
链接我发布的应用程式向AdMob
教程通过点击“ADD AD UNIT”在Admob上制作了一个广告单元
我想知道我是否错过了一个步骤,但如果我做了为什么测试广告可以正常工作,但不是真正的。 我希望直接联系Admob
,但他们似乎没有任何客户服务电子邮件。你是我最后的希望,请帮助。谢谢
代码:MainActivity类别
公共类MainActivity扩展活动实现RewardedVideoAdListener {
public static RewardedVideoAd mAd;
public static RewardedVideoAd mAd2;
public static MediaPlayer click;
public static MediaPlayer unlock;
public static MediaPlayer thud;
public static InterstitialAd mInterstitialAd;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
this.requestWindowFeature(getWindow().FEATURE_NO_TITLE);
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
Constants.SCREEN_WIDTH = dm.widthPixels;
Constants.SCREEN_HEIGHT = dm.heightPixels;
setContentView(new GamePanel(this));
mAd = MobileAds.getRewardedVideoAdInstance(this);
mAd.setRewardedVideoAdListener(this);
mAd2 = MobileAds.getRewardedVideoAdInstance(this);
mAd2.setRewardedVideoAdListener(this);
loadAd();
click = MediaPlayer.create(getApplicationContext(), R.raw.click_sound);
unlock = MediaPlayer.create(getApplicationContext(), R.raw.unlock_sound);
thud = MediaPlayer.create(getApplicationContext(), R.raw.thud_sound);
mInterstitialAd = new InterstitialAd(this);
mInterstitialAd.setAdUnitId("ca-app-pub-3940256099942544/1033173712");
mInterstitialAd.loadAd(new AdRequest.Builder().build());
}
private void click() {
click.start();
}
private void unlock() {
unlock.start();
}
private void thud() {
thud.start();
}
private void loadAd() {
if (!mAd.isLoaded()) {
mAd.loadAd("ca-app-pub-3940256099942544/5224354917", new AdRequest.Builder().build());
}
if (!mAd2.isLoaded()) {
mAd2.loadAd("ca-app-pub-3940256099942544/5224354917", new AdRequest.Builder().build());
}
}
// Required to reward the user.
@Override
public void onRewarded(RewardItem reward) {
if (GamePanel.Ad1 == 1) {
Toast.makeText(this, "Congrats 30 Survival Points Added!", Toast.LENGTH_SHORT).show();
}
if (GamePanel.Ad2 == 1) {
Toast.makeText(this, "Congrats 100 Survival Points Added!", Toast.LENGTH_SHORT).show();
}
}
// The following listener methods are optional.
@Override
public void onRewardedVideoAdLeftApplication() {
}
@Override
public void onRewardedVideoAdClosed() {
if (GamePanel.Ad1 == 1) {
GamePanel.HighCoin = GamePanel.HighCoin + 30;
GamePanel.Ad1 = 0;
Toast.makeText(this, "Congrats 30 Survival Points Added!", Toast.LENGTH_SHORT).show();
}
if (GamePanel.Ad2 == 1) {
GamePanel.HighCoin = GamePanel.HighCoin + 100;
Toast.makeText(this, "Congrats 100 Survival Points Added!", Toast.LENGTH_SHORT).show();
}
}
@Override
public void onRewardedVideoAdFailedToLoad(int errorCode) {
}
@Override
public void onRewardedVideoAdLoaded() {
}
@Override
public void onRewardedVideoAdOpened() {
}
@Override
public void onRewardedVideoStarted() {
}
}
并加载我使用的代码:
MainActivity.mInterstitialAd。显示();
如果(MainActivity.mAd.isLoaded())
MainActivity.mAd.show();
上面显示的广告单元代码是由Admob提供的测试广告代码,该代码可以正常工作,但我在Admob自己的代码中遇到了问题。
请粘贴您的代码! –
如果它们是真正的广告单元ID,请先删除或遮盖这些广告单元ID。有人可能会使用它,你可能会被禁止。你在日志中看到什么?广告正在投放?这可能是一个填充率问题。您可以在回调中设置断点以查看广告是否获得投放 –
代码中的广告是由admob提供的测试广告,并且完美无缺。但是当我将它们替换成我在admob中制作的那些时,那就是当我遇到问题时。 “ –