大家好,你好吗?我很好。 我正在尝试为Unity3d游戏货币化编写脚本。 我已经编写了用于初始化Admob广告的脚本,现在正在编写另一个用于加载和显示广告的脚本。我正在关注Admob教程,但是有一些我不知道如何解决的错误。
类型'InterstitialAd'不包含带有'1'参数的构造函数
类型“ InterstitialAd”不包含“ LoadAd”的定义,并且找不到类型为“ InterstitialAd”的扩展方法“ LoadAd”。您是否缺少装配参考?
类型“ InterstitialAd”不包含“ IsLoaded”的定义,并且找不到类型为“ InterstitialAd”的扩展方法“ IsLoaded”。您是否缺少装配参考?
类型“ InterstitialAd”不包含“显示”的定义,也找不到类型为“ InterstitialAd”的扩展方法“显示”。您是否缺少装配参考?
似乎我必须编写一个构造函数,并且未定义方法,但是我遵循的是AdMob获利指南的说明,并且假定使用Admob api会加载方法,但不起作用
这是我的代码:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using GoogleMobileAds.Api;
public class InterstitialAd : MonoBehaviour
{
private InterstitialAd interstitial;
private string adUnitId;
private void requestInterstitial()
{
//Los siguientes adUnitId son anuncios de prueba, antes de publicarlo debo reemplazar adUnitId con el id del bloque de anuncios
#if UNITY_ANDROID
string adUnitId = "ca-app-pub-3940256099942544/1033173712";
#elif UNITY_IPHONE
string adUnitId = "ca-app-pub-3940256099942544/4411468910";
#else
string adUnitId = "unexpected_platform";
#endif
// Initialize an InterstitialAd. //Id Del bloque de anuncios
this.interstitial = new InterstitialAd(adUnitId);
// Use this for initialization
// Create an empty ad request.
AdRequest request = new AdRequest.Builder().Build();
//Load the interstitial with the request interstitial
this.interstitial.LoadAd(request);
}
//ShowAd
private void showInterstitial()
{
if (Time.time % 45 == 0 && Time.timeSinceLevelLoad > 60 && this.interstitial.IsLoaded())
{
this.interstitial.Show();
}
}
}
希望您能帮助我!这是发布我的应用程序的最后一步!
答案 0 :(得分:0)
您自己的课程InterstitialAd : MonoBehaviour
与已经存在的GoogleMobileAds.Api.InterstitialAd
之间存在名称冲突
所以当你这样做
private InterstitialAd interstitial;
new InterstitialAd(adUnitId);
this.interstitial.LoadAd(request);
this.interstitial.IsLoaded()
this.interstitial.Show();
它总是尝试使用您自己的InterstitialAd : MonoBehaviour
类型执行这些操作,而这些类型不会实现那些属性/方法。
您要么必须重命名您的班级,例如
public class IntersitialAdController : MonoBehaviour
{
...
}
如果这样做,请确保文件名也更改为与Behviours名称IntersitialAdController.cs
(在驱动器上)完全相同,或者在Unity的.cs
视图中不包含Project
。 / p>
或者通过各处的完整名称空间访问正确的类型:
private GoogleMobileAds.Api.InterstitialAd interstitial;
new GoogleMobileAds.Api.InterstitialAd(adUnitId);
etc ...