Admob Interstitial 广告显示错误构建请求 URL

Admob Interstitial ad showing Error building request URL

我最近实施了 admob 插页式广告,并从方法 onAdFailedToLoad() 获得 exception/error 作为 构建请求错误 URL。,而且我的广告是未显示 .

我的代码:

InterstitialAd interstitialAd;
        protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
        
                InterstitialAd interstitialAd = new InterstitialAd(MainActivity.this);
                interstitialAd.setAdUnitId(KEY);
                MobileAds.initialize(MainActivity.this, new OnInitializationCompleteListener() {
                    @Override
                    public void onInitializationComplete(InitializationStatus initializationStatus) {
                        Log.e("app","MobileAds onInitializationComplete");
                    }
                });
                interstitialAd.loadAd(new AdRequest.Builder().build());
                interstitialAd.setAdListener(new AdListener(){
                    @Override
                    public void onAdLoaded() {
                        Log.e("app","ad loaded");
                    }
        
                    @Override
                    public void onAdFailedToLoad(LoadAdError loadAdError) {
                        Log.e("app","ad failedToLoad: "+loadAdError.getMessage()); //error/exception here
                    }
                });
}
                  protected void onActivityResult(int requestCode, int resultCode, Intent data) {

        super.onActivityResult(requestCode, resultCode, data);
        if(interstitialAd.isLoaded()) {
                    interstitialAd.show();
                    Log.e("app","ad loaded");
                }
                else Log.e("app","ad not loaded yet");              
    }
}

我已经在 Manifest.xml

中正确注册了我的 ID
<application>
<meta-data
            android:name="com.google.android.gms.ads.APPLICATION_ID"
            android:value="@string/KEY"/>
    </application>

遵循相同的准则shown in here

确保您在调用 InterstitialAd 时使用来自 AdMob 的正确测试广告 ID。这与您的 App ID 不同,它后面有一个斜线和一个数字。

为了测试, 使用 ca-app-pub-3940256099942544/1033173712 这是文档在撰写本文时给出的测试 ID。

我也遇到了类似的问题,检查后发现我输入的单元ID不正确。

我注意到在这些情况下会出现此错误:

  • 当您输入错误的 adUnitId 时。
  • 当您传递错误的 AdSize(例如太大或太小)时。
  • 当 Google 停止在您的应用中展示广告时,因为您违反了一些 admob 规则。

对于插播广告,示例广告单元 ID 必须是:ca-app-pub-3940256099942544/1033173712

这是指向每种格式的特定测试广告素材的演示广告单元。

切勿使用控制台中的应用 ID 来测试应用中的广告。而是使用这些示例 ID:

Ad format Sample Ad Unit Id How it looks
App Open ca-app-pub-3940256099942544/3419835294
Banner ca-app-pub-3940256099942544/6300978111
Interstitial ca-app-pub-3940256099942544/1033173712 No preview
Interstitial Video ca-app-pub-3940256099942544/8691691433

还有更多。你可以找到所有这些 here