AdMob 广告不会随 Unity 一起展示



我遵循了一个关于构建android应用程序的教程,除了广告部分外,一切都很好。我已经将apk导出到手机中,但在游戏中看不到任何横幅。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using GoogleMobileAds.Api;
using System;
public class Admob : MonoBehaviour
{
private BannerView bannerView;
private void RequestBanner()
{
#if UNITY_ANDROID
string adUnitId = "ca-app-pub-87275346751xxxxx/xxxxxxxxxx";
#elif UNITY_IPHONE
string adUnitId = "";
#else
string adUnitId = "unexpected_platform";
#endif
bannerView = new BannerView(adUnitId, AdSize.SmartBanner, AdPosition.Bottom);
AdRequest request = new AdRequest.Builder().Build();
bannerView.LoadAd(request);
}
void Start()
{
#if UNITY_ANDROID
string appId = "ca-app-pub-87275346751xxxxx~xxxxxxxxxx"; //your admob app id 
#elif UNITY_IPHONE
string appId = "";
#else
string appId = "unexpected_platform";
#endif
// Initialize the Google Mobile Ads SDK.
MobileAds.Initialize(appId);
//MobileAds.Initialize(initStatus => { });
RequestRewardedAd();
RequestInterstitial();
RequestBanner();
ShowBanner();
}
}
public void ShowBanner()
{
bannerView.Show();
}

这是广告的脚本。关于Start方法,我尝试了MobileAds.Initialize(appId)函数,就像教程中的那个人一样,但Unity说该方法不推荐使用,所以我应该使用Initialize(Action<InitializationStatus> initCompleteAction),所以我尝试了MobileAds.Initialize(initStatus => { });。两者都不起作用。我在这里浏览了一些话题,有些人说他们可以在游戏中看到测试广告,但我甚至看不到。我该怎么办?

您确定要将测试单元ID用于Admob广告吗?请首先确保带有测试单元ID的广告有效。在测试时使用自己的广告单元ID显示广告可能会导致永久禁令。

让测试广告工作后,你可以确定你的代码是好的。为了能够在应用程序/游戏中显示真实的广告,您必须首先在Admob上设置付款信息(您不需要设置信用卡,只需要设置有关您的主要信息(。

此外,我建议利用";AdFailedToShow";以及";AdFailedToLoad";知道哪里出了问题。理想情况下,你必须使用测试广告单元ID进行测试,当一切正常时,你可以用自己的单元ID更改它们,然后构建游戏并上传到Google Play商店。你可以在自己的设备上显示真实的广告,但你不能点击它们。这是违反政策的。

如果存在";内部错误";关于加载真实广告而不是测试广告的消息,很可能您在Admob上的付款信息没有设置。但大多数时候;无填充";错误,这意味着AdMob无法为你获得广告(基本上意味着现在库存中没有你的广告(,当人们开始玩你的游戏并请求广告时,它将被修复。

最新更新