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);
}
}
3 Réponses :
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);
}
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.
J'ai pu résoudre le même problème en définissant VerticalOptions = "FillAndExpand" et HorizontalOptions = "FillAndExpand"