Я пытался внедрить рекламу 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;
}
}
и, конечно же, я добавил код в свой файл манифеста и в свое основное действие. вроде ничего не работает!