0
votes

Mon annonce AdMob ne se charge que lorsque je navigue vers une autre page, puis retour

Est-ce à cause de l'événement OnElementChanged?

Puis-je charger les annonces au démarrage de l'application?

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


0 commentaires

3 Réponses :


0
votes

Pour créer un contrôle natif dans OnElementChanged dans un renderer , test sur e.NewElement! = null et Control == null :

base.OnElementChanged(e); 

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


0 commentaires

0
votes

Lorsque l'application appelle la méthode OnElementChanged au début du programme, elle ne diffuse aucune annonce. Seulement lorsqu'il a appelé pour la deuxième fois.


0 commentaires

0
votes

J'ai pu résoudre le même problème en définissant VerticalOptions = "FillAndExpand" et HorizontalOptions = "FillAndExpand"


0 commentaires