gpt4 book ai didi

android - Unity adMobs Android 不显示 bannerView

转载 作者:搜寻专家 更新时间:2023-11-01 09:20:44 28 4
gpt4 key购买 nike

我正在尝试将 AdMobs 集成到我的 unity 2D 项目中(游戏专为移动平台设计)。

在网上搜索和此处的答案后,我找不到问题的解决方案。

  • 当我将我的游戏移植到每个平台时,iOS 工作并显示横幅 View 。

  • Android 不显示横幅 View 。

  • 我尝试删除并重新导入 google 包,但仍然Android 不会显示横幅。

我完全按照此链接中的谷歌教程所描述的进行操作。 https://developers.google.com/admob/unity/start

但还是不行 Android 不会显示带有广告的横幅 View (已在 2 台不同的设备上测试)。这是我的代码,我将 appId 字符串添加到项目中的 list 和 plist 处理程序。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using GoogleMobileAds.Api;
using System;

public class GoogleAdsHandler:MonoBehaviour {

private BannerView bannerView;

// Use this for initialization
void Start () {
#if UNITY_ANDROID
string appId = Consts.ANDROID_AD_APPID;
#elif UNITY_IPHONE
string appId = Consts.IOS_AD_APPID;
#else
string appId = "unexpected_platform";
#endif
InitilizeAdMob ();
}

private void InitilizeAdMob () {
#if UNITY_ANDROID
string appId = Consts.ANDROID_AD_APPID;
#elif UNITY_IPHONE
string appId = Consts.IOS_AD_APPID;
#else
string appId = "unexpected_platform";
#endif
MobileAds.Initialize (appId);

this.RequestBanner ();
}

private void RequestBanner () {
#if UNITY_ANDROID
string adUnitId = Consts.ANDROID_BANNER_ID;
#elif UNITY_IPHONE
string adUnitId = Consts.IOS_BANNER_ID;
#else
string adUnitId = "unexpected_platform";
#endif
// Create a 320x50 banner at the top of the screen.
bannerView = new BannerView (adUnitId, AdSize.Banner, AdPosition.Bottom);
AdRequest request = new AdRequest.Builder ().Build ();
bannerView.LoadAd (request);
bannerView.Show ();
bannerView.OnAdLoaded += HandleOnAdLoaded;
}

public void HandleOnAdLoaded (object sender, EventArgs args) {
MonoBehaviour.print ("HandleAdLoaded event received");
}
}

此脚本附加到我的主菜单场景中的游戏对象。

非常感谢对此事的帮助。

最诚挚的问候。

罗尼。

最佳答案

您试图在不检查广告是否已加载的情况下显示广告,但很可能没有。在调用 bannerView.LoadAd()bannerView.Show() 之前,您应该订阅 HandleOnAdLoaded 事件。

您的 Start 方法只是调用 InitilizeAdMob,因为您分配的字符串没有传递到任何地方,您在 InitilizeAdMob 中做同样的事情> 所以我会像这样重写你的类(class):

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using GoogleMobileAds.Api;
using System;

public class GoogleAdsHandler : MonoBehaviour {

private BannerView bannerView;

// Use this for initialization
void Start () {
InitilizeAdMob ();
}

private void InitilizeAdMob () {
#if UNITY_ANDROID
string appId = Consts.ANDROID_AD_APPID;
#elif UNITY_IPHONE
string appId = Consts.IOS_AD_APPID;
#else
string appId = "unexpected_platform";
#endif
MobileAds.Initialize (appId);
this.RequestBanner ();
}

private void RequestBanner () {
#if UNITY_ANDROID
string adUnitId = Consts.ANDROID_BANNER_ID;
#elif UNITY_IPHONE
string adUnitId = Consts.IOS_BANNER_ID;
#else
string adUnitId = "unexpected_platform";
#endif
// Create a 320x50 banner at the top of the screen.
bannerView = new BannerView (adUnitId, AdSize.Banner, AdPosition.Bottom);
bannerView.OnAdLoaded += HandleOnAdLoaded;
AdRequest request = new AdRequest.Builder ().Build ();
bannerView.LoadAd (request);
}

public void HandleOnAdLoaded (object sender, EventArgs args) {
MonoBehaviour.print ("HandleAdLoaded event received");
bannerView.Show();
}
}

关于android - Unity adMobs Android 不显示 bannerView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55927090/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com