2016-06-20 6 views
0

Fügen Sie das AdMob SDK für Windows Phone 8 in meinem Projekt und auch in Android-Projekt konfiguriert. Android-Projekt funktioniert einwandfrei, aber wenn der Windows Phone-Emulator in der Werbung ausgeführt wird, wird nicht angezeigt.Xamarin Forms Cross-Plattform AdMob nicht Rendering

überprüfte ich die Fähigkeiten und das richtig alle wie folgt:

ID_CAP_MEDIALIB_AUDIO 
ID_CAP_MEDIALIB_PLAYBACK 
ID_CAP_NETWORKING 
ID_CAP_WEBBROWSERCOMPONENT 

Folgen Sie meinem Renderer Code:

[assembly: ExportRenderer(typeof(AdMobView), typeof(AdMobViewRenderer))] 

namespace calculotrabalhista.WinPhone 
{ 
    public class AdMobViewRenderer : ViewRenderer<AdMobView, AdView> 
    { 
     protected override void OnElementChanged(ElementChangedEventArgs<AdMobView> e) 
     { 
      base.OnElementChanged(e); 

      if (Control == null) 
      { 
       var ad = new AdView 
       { 
        Format = AdFormats.Banner, 
        AdUnitID = "ca-app-pub-xxxxxxxxxxxxxxxxxxxxxxxxxxxx/xxxxxxxxxxx" 
       }; 

       var adRequest = new AdRequest(); 
#if DEBUG 
       adRequest.ForceTesting = true; 
#endif 


       ad.LoadAd(adRequest); 
       SetNativeControl(ad); 
      } 
     } 
    } 
} 

Xamarin (Portable) XAML:

<CustomControls:AdMobView Grid.Row="1" VerticalOptions="FillAndExpand"/> 

AdMobView Klasse :

public class AdMobView : Xamarin.Forms.View 
    { 
     // enables data binding for the AdMob ad unit id 
     [Obsolete] 
     public static readonly BindableProperty AdUnitIdProperty = BindableProperty.Create<AdMobView, string>(p => p.AdUnitId, ""); 

     // holds the AdMob ad unit id 
     [Obsolete] 
     public string AdUnitId 
     { 
      get 
      { 
       return (string)this.GetValue(AdUnitIdProperty); 
      } 
      set 
      { 
       this.SetValue(AdUnitIdProperty, value); 
      } 
     } 
    } 

Beachten Sie, dass das Projekt Android Werbung normal angezeigt wird. Es gibt keinen Fehler beim Ausführen des Windows Phone-Projekts und einen Haltepunkt auf dem Teil des Renderers, der normal ausgelöst wird, aber nichts erscheint.

Antwort

0

Ich hatte ein ähnliches Problem wie Sie. Ich fügte hinzu: "Komponenten" "Google Mobile Ads" und Sie müssen BannerView verwenden und die Implementierung ist für alle Plattform ähnlich.

Es sei denn, Sie können einen Fehler in iOS haben. Sie können eine Implementierung für alle Plattformen auf dieser link lesen.