AdSize 类具有获取广告尺寸的 getWidthInPixels() 和 getHeightInPixels() 方法。虽然,它们对 BANNER 工作正常,但它们不工作 SMART_BANNER。他们总是返回-2。
您能否建议我在运行时获取 AdView 大小的方法?
如果您使用的是 Google Play 服务库,您可以简单地使用:
int widthPixels = AdSize.SMART_BANNER.getWidthInPixels(this);
int heightPixels = AdSize.SMART_BANNER.getHeightInPixels(this);
在旧的独立 Android AdMob SDK 中,您必须采用 hacky 方式:
免责声明:这是创建 AdSize 的错误方法。不要将此 AdSize 传递给 AdView 构造函数!
希望智能横幅的实现将在未来的版本中得到修复,这样您就不必做这个骇人听闻的解决方法。但这里是如何做到的:
// This testSize should not be passed to the AdView constructor.
// Always pass AdSize.SMART_BANNER instead.
AdSize testSize = AdSize.createAdSize(AdSize.SMART_BANNER, this);
int widthPixels = testSize.getWidthInPixels(this);
int heightPixels = testSize.getHeightInPixels(this);
// testSize should not be referenced past this point.