Моя реклама AdMob загружается только тогда, когда я перехожу на другую страницу, а затем обратно - PullRequest
0 голосов
/ 05 августа 2020

Это из-за события OnElementChanged?

Могу ли я загружать рекламу при запуске приложения?

protected override void OnElementChanged(ElementChangedEventArgs<Xamarin.Forms.View> e)
    {
        base.OnElementChanged(e);
        if (e.OldElement == null)
        {
            var adView = new AdView(Context);
            switch ((Element as AdBanner).Size)
            {
                case AdBanner.Sizes.Standardbanner:
                    adView.AdSize = AdSize.Banner;
                    break;
                ...
            }

            adView.AdUnitId = "ca-app-pub-xxxxxxxxxxxxxxxx/xxxxxxxxxx";

            var requestbuilder = new AdRequest.Builder();
            adView.LoadAd(requestbuilder.Build());

            SetNativeControl(adView);
        }
    }

Ответы [ 2 ]

0 голосов
/ 06 августа 2020

Когда приложение вызывает метод OnElementChanged в начале программы, оно не показывает никакой рекламы. Только когда позвонили во второй раз.

0 голосов
/ 05 августа 2020

Чтобы создать собственный элемент управления в OnElementChanged в рендерере , протестируйте e.NewElement != null и Control == null:

base.OnElementChanged(e); 

if (e.NewElement != null && Control == null) 
{   
    _adView = CreateNativeControl(...);
    SetNativeControl(_adView); 
} 

Согласно рендереру документации, метод OnElementChanged "вызывается при создании настраиваемого элемента управления Xamarin.Forms для визуализации соответствующего собственного элемента управления".

...