我试图为我的应用复制https://forums.xamarin.com/discussion/66452/xamarin-admob-rewardedvideoad但我无法添加 RewardedVideoAdListener 任何帮助将不胜感激
问问题
85 次
2 回答
0
您的类似乎派生自 AdsGoogle.Droid 命名空间中的类或接口,而您链接到的示例使用的是 Android.GMS 命名空间中的类或接口。这表明您正在尝试使用其他产品的教程与 Google Ads 集成?您收到的错误表明编译器不知道如何在类的 AdsGoogle.Droid 版本(您的类)和类的 Android.GMS 版本(它期望的类类型)之间进行转换。
为了使问题更清楚,您可以拥有两个具有相同名称的类,只要它们位于不同的命名空间中即可。页面顶部的 using 语句用于告诉编译器使用哪个版本的类。如果它可能属于其中任何一个,您必须声明完整的命名空间和类名,例如,System.IO.File
或者MyNamespace.File
而不是仅仅声明File
.
要解决此问题,请删除这行using AdsGoogle.Droid;
导致的任何错误将来自与您正在使用的教程没有任何关系的代码部分 - 本教程不使用该命名空间中的任何内容。
于 2018-12-04T19:56:01.630 回答
0
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();
}
它适用于上面的代码。谢谢你元素皮特帮助我。
于 2018-12-05T06:14:54.790 回答