xamarin 奖励视频如何替换'this'



在此处输入图像描述

在此处输入图像描述

我试过复制https://forums.xamarin.com/discussion/66452/xamarin-admob-rewardedvideoad对于我的应用程序,但我无法添加RewardedVideoAdListener将不胜感激

您的类似乎是从AdsGoogle.Droid命名空间中的类或接口派生的,而您链接到的示例使用的是Android.GMS命名空间中的一个类或接口。这表明你正在尝试使用其他产品的教程来与谷歌广告集成?你得到的错误表明编译器不知道如何在类的AdsGoogle.Droid版本(你的类(和类的Android.GMS版本(它期望的类类型(之间转换。

为了解决这个问题,只要两个类位于不同的命名空间中,就可以有两个同名的类。页面顶部的using语句用于告诉编译器要使用类的哪个版本。如果它可以属于其中之一,则必须声明完整的命名空间和类名,例如System.IO.FileMyNamespace.File,而不仅仅是File

要解决这个问题,请删除行using AdsGoogle.Droid;。这导致的任何错误都将来自与您正在使用的教程无关的代码部分——教程没有使用该命名空间中的任何内容。

using Android.Gms.Ads;
using Android.Gms.Ads.Reward;
using Xamarin.Forms;
using Android.Views;
using AdsGoogle;
using Android.Widget;
using System;
using System.Timers;
using Android.OS;
using Android.Support.V7.App;
[assembly: Dependency(typeof(AdsGoogle.Droid.AdInterstitial_Droid))]
namespace AdsGoogle.Droid
{
public class AdInterstitial_Droid : AppCompatActivity, IRewardedVideoAdListener, IAdInterstitial
{
public IRewardedVideoAd RewardedVideoAd;
public AdInterstitial_Droid()
{
RewardedVideoAd = MobileAds.GetRewardedVideoAdInstance(Android.App.Application.Context);
RewardedVideoAd.RewardedVideoAdListener = this;
//RewardedVideoAd.AdUnitId = "ca-app-pub-2667741859949498/7232000911";
LoadAd();
}
void LoadAd()
{
var requestbuilder = new AdRequest.Builder();
RewardedVideoAd.LoadAd("ca-app-pub-2667741859949498/7232000911", requestbuilder.Build());
}
public void ShowRewardedVideo()
{
if (RewardedVideoAd.IsLoaded)
{
RewardedVideoAd.Show();
//Toast.MakeText(Android.App.Application.Context, MainPage.AdCoins.ToString(), ToastLength.Long).Show();
}
LoadAd();
}

它适用于上面的代码。感谢元素皮特对我的帮助。

最新更新