如何在屏幕中央显示Unity Google AdMob横幅

时间:2018-09-03 19:26:53

标签: unity3d admob googleads-mobile-unity

我有一个Google AdMob横幅,要显示在自定义位置。下面的行在我的...中可以正常工作

...
    bannerView = new BannerView(adUnitId, AdSize.Banner, AdPosition.Bottom);
...

尽管当我想将横幅放置在自定义位置时,它永远不会显示在屏幕上。我在做:

...
    int w = 0;
    int h = Screen.height/2;

    bannerView = new BannerView(adUnitId, AdSize.Banner, w, -h);
...

我在做什么错了?

AdMob横幅广告的文档可以在以下位置找到:https://developers.google.com/admob/unity/banner

非常感谢您的帮助! :)

1 个答案:

答案 0 :(得分:0)

如您提供的文档所述:

  

BannerView的左上角将位于传递给构造函数的x和y值处,其原点是屏幕的左上角。

您的错误可能是您向y参数传递了负值,导致BannerView定位在屏幕顶部边框之外。
因此,如果您希望横幅视图仅以高度为中心,则您的代码应如下所示:

...
int w = 0;
int h = Screen.height/2;

bannerView = new BannerView(adUnitId, AdSize.Banner, w, h);
...

提醒您不要注意BannerView的实际高度。为了使它居中并照顾其高度,这应该起作用:

...
int w = 0;
int bannerHeight = 50; //Because AdSize.Banner measures 320x50
int h = Screen.height/2 - bannerHeight/2;

bannerView = new BannerView(adUnitId, AdSize.Banner, w, h);
...

Banner sizes documentation