如何在 Android 中展示 AdMob 非个性化原生高级广告?

How to show AdMob Non-Personalized Native Advanced ads in Android?

我尝试了各种不同的方法,但其中 none 似乎有效。 这是由 AdMob 提供的:

Bundle extras = new Bundle();
extras.putString("npa", "1");

AdRequest request = new AdRequest.Builder()
    .addNetworkExtrasBundle(AdMobAdapter.class, extras)
    .build();

我使用的代码:

AdLoader.Builder builder = new AdLoader.Builder(this, "ca-app-pub-XXXXX").forNativeAd(new NativeAd.OnNativeAdLoadedListener() {
            @Override
            public void onNativeAdLoaded(@NonNull NativeAd nativeAds) {
                if (nativeAds!=null) nativeAd = nativeAds;
                CardView cardView = findViewById(R.id.adCard);
                NativeAdView adView = (NativeAdView)getLayoutInflater().inflate(R.layout.native_ad_view, null);
                populateNativeAd(nativeAd, adView);
                cardView.removeAllViews();
                cardView.addView(adView);
            }
        });

广告在未使用 AdRequest 的情况下加载和显示,我无法使用 AdLoader

找到同意的方式

如果其他人面临同样的困惑: AdRequest 用于此行:

adLoader.loadAd(new AdRequest.Builder().build());

我的错。代码太长,我找不到这一行。 将其更改为:

Bundle extras = new Bundle();
extras.putString("npa", "1");
adLoader.loadAd(new AdRequest.Builder().addNetworkExtrasBundle(AdMobAdapter.class, extras).build());