iOS实现RewardBasedVideoAd

iOS实现RewardBasedVideoAd

我正在尝试在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/

10-09 06:15