xamarin RewardedVideo, как заменить «это» - PullRequest
0 голосов
/ 04 декабря 2018

введите описание изображения здесь

введите описание изображения здесь

Я попытался скопировать https://forums.xamarin.com/discussion/66452/xamarin-admob-rewardedvideoad для моего приложения, ноя не могу добавить RewardedVideoAdListener Каждая помощь будет оценена

Ответы [ 2 ]

0 голосов
/ 05 декабря 2018

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();
        }
        
        

Работает с этим кодом выше.Спасибо, элементал Пит, за помощь.

0 голосов
/ 04 декабря 2018

Ваш класс, по-видимому, является производным от класса или интерфейса в пространстве имен AdsGoogle.Droid, а пример, на который вы ссылаетесь, использует класс или интерфейс в пространстве имен Android.GMS.Это говорит о том, что вы пытаетесь использовать учебное пособие для какого-либо другого продукта для интеграции с Google Ads?Получаемая ошибка говорит о том, что компилятор не знает, как преобразовать версию класса AdsGoogle.Droid (ваш класс) в версию класса Android.GMS (ожидаемый тип класса).

Чтобы прояснить проблему, у вас может быть два класса с одинаковыми именами, если они находятся в разных пространствах имен.Операторы using в верхней части страницы используются для указания компилятору, какую версию класса использовать.Если он может принадлежать одному из них, вы должны объявить полное пространство имен и имя класса, например, System.IO.File или MyNamespace.File вместо просто File.

Чтобы решить проблему, удалите строку using AdsGoogle.Droid; Любые ошибки, которые это вызывает, будут происходить из частей кода, которые не имеют никакого отношения к учебнику, который вы используете - учебник не использует ничего из этого пространства имен.

...