私は最近、初めてAndroidアプリを完成してGoogle Playに導入しましたが、今はAdMobを追加しようとしています。XamarinのAndroidアプリにAdMob広告が表示されない
いくつかの誤った開始後、いくつかのクリーンアップと再構築は、アプリケーションが構築されているところにありますが、表示する広告を取得できません。
私はAdMobViewというコンテンツビューを作成しました。
using Xamarin.Forms;
namespace MyApplication
{
public partial class AdMobView : ContentView
{
public AdMobView()
{
}
}
}
次に、私は広告を表示したいXAMLで
using Android.Gms.Ads;
using Xamarin.Forms;
using MyApplication;
using Xamarin.Forms.Platform.Android;
[assembly: ExportRenderer(typeof(AdMobView), typeof(AdMobRenderer))]
namespace MyApplication
{
public class AdMobRenderer : ViewRenderer <AdMobView, AdView>
{
protected override void OnElementChanged(ElementChangedEventArgs<AdMobView> e)
{
base.OnElementChanged(e);
if (Control == null)
{
var ad = new Android.Gms.Ads.AdView(Forms.Context);
ad.AdSize = Android.Gms.Ads.AdSize.Banner;
ad.AdUnitId = "<the AdUnit id>";
var requestbuilder = new Android.Gms.Ads.AdRequest.Builder();
ad.LoadAd(requestbuilder.Build());
SetNativeControl(ad);
}
}
}
}
、私はこのXAMLでも
<controls:AdMobView WidthRequest="320" HeightRequest="50" />
を追加して、私は制御MainActivityで
xmlns:controls="clr-namespace:MyApplication;assembly=MyApplication"
ためxmlnを追加しました.cs。私が追加しました
MobileAds.Initialize(ApplicationContext, "<the AdUnit id>");
AssemblyInfo.csに私が追加しました。
[assembly: UsesPermission(Android.Manifest.Permission.Internet)]
[assembly: UsesPermission(Android.Manifest.Permission.AccessNetworkState)]
AndroidManifest.xmlに追加しました。私が言ったように
<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
<activity android:name="com.google.android.gms.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" />
ので、これはうまく構築し、実際のデバイスの両方で、エミュレータでのデバッグモードで実行されますが、広告が表示されるはずの領域には何もありません。私はちょうど普通の背景を見ることができます - 空白のボックスさえありません。
誰かがアイデアを持っていれば、私はいくつかの眠れない夜を救うことができます!
xmlns:controls = "clr-namespace:mynamespace; assembly = myAssemblyname?を追加する正確なパス –