Java 我还能在XML中使用smart_横幅吗?
admob smart_横幅在java代码中不推荐使用。但它在XML中并没有被标记为不推荐使用 我的xml:Java 我还能在XML中使用smart_横幅吗?,java,android,admob,Java,Android,Admob,admob smart_横幅在java代码中不推荐使用。但它在XML中并没有被标记为不推荐使用 我的xml: <com.google.android.gms.ads.AdView xmlns:ads="http://schemas.android.com/apk/res-auto" android:id="@+id/adView" android:layout_width="match_parent"
<com.google.android.gms.ads.AdView
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:id="@+id/adView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
ads:adSize="SMART_BANNER"
ads:adUnitId="ca-app-pub-xxx">
</com.google.android.gms.ads.AdView>
我的问题是,smart_banner会起作用吗?我必须更改我的广告代码吗?我做错什么了吗?
谢谢朋友。你没有做错任何事,智能横幅广告是有效的广告大小,但网站说你应该使用相应的改变横幅大小的广告,并且更受欢迎
自适应横幅是下一代响应性广告,最大限度地
通过优化每个设备的广告大小来提高性能。智能手机的改进
仅支持固定高度的横幅,自适应横幅允许
开发人员指定广告宽度,并使用该宽度确定最佳广告宽度
广告大小
您的java代码显示了AdSize.SMART\u横幅已弃用,因为
public static AdSize getCurrentOrientationAnchoredAdaptiveBannerAdSize(上下文,int-width)
它不是AdSize.SMART_BANNER
,而是返回一个具有给定宽度和谷歌优化高度的AdSize来创建一个横幅广告。这在xml中不会发生,因为没有其他方法,您也应该使用类似方式工作的自适应横幅
如果您想要使用它,您可以使用这种设置adSize的方法
AdSize adSize = getAdSize();
adView.setAdSize(adSize);
并将adSize()作为
谢谢你的回答。问题是当我在JAVA中设置时:
adView.setAdSize(AdSize.SMART_BANNER)代码>它说它已被弃用。但是在XML中它什么也没说。你必须在参数中给出设备宽度。顺便说一句,即使你使用AdSize.SMART_BANNER
,你的代码仍然可以工作,但是使用不推荐的函数和类是一种不好的做法,因为它们不再受支持
AdSize adSize = getAdSize();
adView.setAdSize(adSize);
private AdSize getAdSize() {
Display display = getWindowManager().getDefaultDisplay();
DisplayMetrics outMetrics = new DisplayMetrics();
display.getMetrics(outMetrics);
float widthPixels = outMetrics.widthPixels;
float density = outMetrics.density; int adWidth = (int) (widthPixels / density);
return AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(this, adWidth); }