I am trying to implement a RewardBasedVideoAd for iOS using C# in Xamarin and I just can't seem to get it to work. This is what I have so far and it does not go into any of the delegate functions. Any help or advice is much appreciated. Thanks in advance.
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.");
}
}
Cause: Different from BannerView. Because you used the testUnitID provided by google .So you need set the TestDeviceId.You will get error info in the output like
Solution:
I used the abovecode and it works fine.