首页 > 解决方案 > 必需类型:UnifiedNativeAd 但提供:play-services-ads:20.1.0 中的 NativeAd

问题描述

早期的代码是这样的,但升级到 'com.google.android.gms:play-services-ads:20.1.0' 它说不推荐使用 UnifiedNativeAd。

AdLoader adLoader = new AdLoader.Builder(this.requireActivity(), "ad unit")
            .forUnifiedNativeAd(new UnifiedNativeAd.OnUnifiedNativeAdLoadedListener() {
                @Override
                public void onUnifiedNativeAdLoaded(UnifiedNativeAd unifiedNativeAd) 

                    template.setVisibility(View.VISIBLE);
                    template.setNativeAd(unifiedNativeAd);
                 }
            })
             .withAdListener(new AdListener() {
                 @Override
                 public void onAdFailedToLoad(int errorCode) {
                    failed = 0;
                 }
             })
            .build();

然后我按照给定的https://developers.google.com/admob/android/native/templates改成了这个

AdLoader adLoader = new AdLoader.Builder(this.requireActivity(), "ad unit")
            .forNativeAd(new NativeAd.OnNativeAdLoadedListener() {
                @Override
                public void onNativeAdLoaded(NativeAd NativeAd) 

                    template.setVisibility(View.VISIBLE);
                    template.setNativeAd(NativeAd);
                 }
            })
             .withAdListener(new AdListener() {
                 @Override
                 public void onAdFailedToLoad(LoadAdError adError) {
                    failed = 0;
                 }
             })
            .build();

但现在它在template.setNativeAd(NativeAd) 中显示错误;
它说必需类型:UnifiedNativeAd 但提供:NativeAd
任何人都可以帮助我吗

标签: androidadmobnative-ads

解决方案


推荐阅读