我正在尝试在Xamarin中使用C#为iOS实现RewardBasedVideoAd,但似乎无法正常工作。到目前为止,这就是我所掌握的内容,并且没有涉及任何委托函数。任何帮助或建议,我们将不胜感激。提前致谢。
public class AdMobImplementation : UIViewController,
IRewardBasedVideoAdDelegate
{
public AdMobImplementation()
{
RewardBasedVideoAd.SharedInstance.Delegate = this;
RewardBasedVideoAd.SharedInstance.LoadRequest(Request.GetDefaultRequest(), "ca-app-pub-3940256099942544/1712485313");
}
public void DidRewardUser(RewardBasedVideoAd rewardBasedVideoAd, AdReward reward)
{
Console.WriteLine("rewarded");
}
public void DidFailToLoad(RewardBasedVideoAd rewardBasedVideoAd, NSError error)
{
Console.WriteLine($"Reward based video ad failed to load with error: {error.LocalizedDescription}.");
}
public void DidReceiveAd(RewardBasedVideoAd rewardBasedVideoAd)
{
Console.WriteLine("Reward based video ad is received.");
}
public void DidOpen(RewardBasedVideoAd rewardBasedVideoAd)
{
Console.WriteLine("Opened reward based video ad.");
}
public void DidStartPlaying(RewardBasedVideoAd rewardBasedVideoAd)
{
Console.WriteLine("Reward based video ad started playing.");
}
public void DidClose(RewardBasedVideoAd rewardBasedVideoAd)
{
Console.WriteLine("Reward based video ad is closed.");
}
public void WillLeaveApplication(RewardBasedVideoAd rewardBasedVideoAd)
{
Console.WriteLine("Reward based video ad will leave application.");
}
}
最佳答案
问题终于解决了!
您不需要处理IRewardBasedVideoAdDelegate
。
您要做的就是从RewardBasedVideoAdDelegate
继承您的类,并覆盖所有必要的方法,例如:
public class AdMobImplementation : RewardBasedVideoAdDelegate
{
public AdMobImplementation()
{
RewardBasedVideoAd.SharedInstance.Delegate = this;
RewardBasedVideoAd.SharedInstance.LoadRequest(Request.GetDefaultRequest(), "ca-app-pub-3940256099942544/1712485313");
}
public override void DidRewardUser(RewardBasedVideoAd rewardBasedVideoAd, AdReward reward)
{
Console.WriteLine("rewarded");
}
public override void DidFailToLoad(RewardBasedVideoAd rewardBasedVideoAd, NSError error)
{
Console.WriteLine($"Reward based video ad failed to load with error:{error.LocalizedDescription}.");
}
public override void DidReceiveAd(RewardBasedVideoAd rewardBasedVideoAd)
{
Console.WriteLine("Reward based video ad is received.");
}
public override void DidOpen(RewardBasedVideoAd rewardBasedVideoAd)
{
Console.WriteLine("Opened reward based video ad.");
}
public override void DidStartPlaying(RewardBasedVideoAd rewardBasedVideoAd)
{
Console.WriteLine("Reward based video ad started playing.");
}
public override void DidClose(RewardBasedVideoAd rewardBasedVideoAd)
{
Console.WriteLine("Reward based video ad is closed.");
}
public override void WillLeaveApplication(RewardBasedVideoAd rewardBasedVideoAd)
{
Console.WriteLine("Reward based video ad will leave application.");
}
}
希望这对寻求解决方案的人有所帮助:)
关于c# - AdMob-iOS实现RewardBasedVideoAd,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53204429/