首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Unity for Android中确定Admob SmartBanner的实际高度

在Unity for Android中确定Admob SmartBanner的实际高度
EN

Stack Overflow用户
提问于 2015-01-04 11:10:07
回答 5查看 11.8K关注 0票数 7

因此,我在我的Unity 4.6 Android游戏中实现了admob横幅。我有在底部的横幅,并需要在我的UI中它的帐户。具体地说,我需要知道它到底有多高,但我在弄清楚这个问题上遇到了麻烦。

根据找到的信息,here智能横幅应为32、50或90像素高,具体取决于设备高度。然而,这似乎不是典型的情况。

一些搜索似乎表明这是由于密度像素造成的。因此,我尝试使用px = dp * (Screen.dpi/ 160)转换声明的像素高度。因此,例如,如果我确定横幅高度应为90像素,我将使用bannerHeight = 90 * (Screen.dpi / 160)。这似乎在一些设备上有效,但在其他设备上无效。

例如,我的Nexus4的DPI为320。使用上面的内容似乎表明横幅应该是180像素高,但实际上横幅看起来大约是90像素高。但在Nexus 7( dpi为166)上,横幅似乎有大约120像素高,而公式表明它应该是~93。

因此,我想我不知道如何计算出横幅实际有多高,我也没有找到从API获取此信息的方法。我调用横幅的代码是非常常用的:

代码语言:javascript
复制
 string adUnitId = "my_id";

 BannerView bannerView = new BannerView(adUnitId, AdSize.SmartBanner, AdPosition.Bottom);
 AdRequest request = new AdRequest.Builder().Build();
 bannerView.LoadAd(request);
EN

回答 5

Stack Overflow用户

发布于 2015-07-06 15:43:58

首先,您需要计算google将为您提供哪些广告(32、50或90 ?)为此,您可以通过屏幕大小来计算它。

高度/dpi=实际高度(英寸)

因此,谷歌表示,高于720 ( dp为160dpi)等于720/160 = 4.5英寸高,高于这个高度,广告是90像素(dp!)低于其50 dp!400/160 = 2.5,低于此值,ads将为32 dp

所以!如果我有1920x1080的小米mi3,那么1920/480dpi =4英寸的height..which将为我们提供50个dp广告。

使用将DP转换为像素的公式

px = dp *(屏幕.dpi/ 160)

50 * (480/160) = 150像素高度的广告!

对于景观,你需要使用" height“1080而不是1920 1080/480dpi = 2.25,这意味着广告将是32像素的dp

它将转换为:

代码语言:javascript
复制
32* (480/160) = 96 pixels in landscape

太糟糕了,谷歌没有给出足够的例子,所以我们可以真正检查自己。

您的信息页面是:

https://developers.google.com/admob/android/banner

票数 8
EN

Stack Overflow用户

发布于 2016-01-04 21:23:27

答案是:https://stackoverflow.com/a/14204959/1900546

代码语言:javascript
复制
int heightPixels = AdSize.SMART_BANNER.getHeightInPixels(this);
票数 7
EN

Stack Overflow用户

发布于 2019-04-30 16:59:31

以下功能可能对使用Admob Smart Banner的用户很有用:

代码语言:javascript
复制
public static float adHeight(){
    float f = Screen.dpi / 160f;
    float dp = Screen.height / f;
    return (dp>720f)? 90f * f
          :(dp>400f)? 50f * f
          :32f * f;
}

要使用它:

代码语言:javascript
复制
r.offsetMin = new Vector2(r.offsetMin.x, adHeight());

其中r是全屏画布/面板的RectTransform。

我附加了一个'loadBannerAd‘脚本到每个需要它的面板。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27761974

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档