почему мои объявления AdMob не отображаются в xamarin? - PullRequest
0 голосов
/ 07 мая 2020

Я пытался внедрить рекламу Google в свое приложение, но это не работает, я пробовал много всего, но ничего не работает. используя nuget firebase.ads

, вот мой код управления рекламой:

 public class AdControlView : View
    {
        public static readonly BindableProperty AdUnitIdProperty = BindableProperty.Create(
                          nameof(AdUnitId),
                          typeof(string),
                          typeof(AdControlView),
                          string.Empty);

        
      
        
        public string AdUnitId
        {
            get => (string)GetValue(AdUnitIdProperty);
            set => SetValue(AdUnitIdProperty, value);
        }
       
    }
моя реализация в xaml:

   <ads:AdControlView  
                AdUnitId="{Binding AdUnitId}" 
                BackgroundColor="Red"
                VerticalOptions="Center"
                HorizontalOptions="Center"
                Grid.Column="0"
                Grid.Row="1"
                x:Name="adBanner"
                HeightRequest="50"
                    />
и вот мой рендерер вида:

    public class AdViewRenderer : ViewRenderer<AdControlView, AdView>
    {
        public AdViewRenderer(Context context) : base(context)
        {

        }

       
        protected override void OnElementChanged(ElementChangedEventArgs<AdControlView> e)
        {
            base.OnElementChanged(e);

            if (e.NewElement != null && Control == null)
                SetNativeControl(CreateAdView());
        }

        protected override void OnElementPropertyChanged(object sender, PropertyChangedEventArgs e)
        {
            base.OnElementPropertyChanged(sender, e);

            if (e.PropertyName == nameof(AdView.AdUnitId))
                Control.AdUnitId = Element.AdUnitId;
        }

        private AdView CreateAdView()
        {

            var adView = new AdView(Context)
            {
                AdSize = AdSize.Banner,
                AdUnitId = "i have my string id here"
            };

            adView.LayoutParameters = new LinearLayout.LayoutParams(LayoutParams.FillParent, LayoutParams.FillParent);

            adView.LoadAd(new AdRequest.Builder().Build());
            adView.BringToFront();
            
            return adView;
        }
    }

и, конечно же, я добавил код в свой файл манифеста и в свое основное действие. вроде ничего не работает!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...