大家好!我正在尝试用Xamarin Android做一个“观看广告”按钮来赢得一些“生活”。
我想是因为ad_unit_id..。我刚刚创建了一个RewardVideo,我得到了ca-app-pub-XXXX/XXXX,并且我有UnityAds作为源代码
我有这个代码
IRewardedVideoAd ad;
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
....
ad = MobileAds.GetRewardedVideoAdInstance(this);
ad.RewardedVideoAdListener = this;
ad.LoadAd("ca-app-pub-9634192908607048/4854564412", new AdRequest.Builder().Build());
Button adBtn = FindViewById<Button>(Resource.Id.buttonAd);
adBtn.Click += AdBtn_Click;
...
}
private void AdBtn_Click(object sender, EventArgs e)
{
ad.Show();
}
但当我点击=“奖励视频尚未加载”时,总是会得到响应。
发布于 2017-08-08 14:29:30
也许你应该实现一个adlistener。因此:
namespace Ads
{
public static class AdWrapper
{
public static InterstitialAd ConstructFullPageAdd(Context con, string UnitID)
{
var ad = new InterstitialAd(con);
ad.AdUnitId = UnitID;
return ad;
}
public static InterstitialAd CustomBuild(this InterstitialAd ad)
{
var requestbuilder = new AdRequest.Builder();
ad.LoadAd(requestbuilder.Build());
return ad;
}
}
}
namespace admobDemo
{
class adlistener : AdListener
{
// Declare the delegate (if using non-generic pattern).
public delegate void AdLoadedEvent();
public delegate void AdClosedEvent();
public delegate void AdOpenedEvent();
// Declare the event.
public event AdLoadedEvent AdLoaded;
public event AdClosedEvent AdClosed;
public event AdOpenedEvent AdOpened;
public override void OnAdLoaded()
{
if (AdLoaded != null) this.AdLoaded();
base.OnAdLoaded();
}
public override void OnAdClosed()
{
if (AdClosed != null) this.AdClosed();
base.OnAdClosed();
}
public override void OnAdOpened()
{
if (AdOpened != null) this.AdOpened();
base.OnAdOpened();
}
}
}
发布于 2018-03-19 07:03:03
您应该调用ad.isLoaded
来检查广告是否已满载,然后调用ad.Show()
来显示广告。
下面是一个示例:
if(ad.IsLoaded){
ad.Show();
}else{
//ad is not fully loaded wait a few second then click again to see ads
}
https://stackoverflow.com/questions/42000060
复制