コメント
コメントの投稿
※名前とタイトルが入力されていないコメントでは他のコメントとの区別ができません。
入力されていないコメントには返信しませんのであらかじめご了承くださいませ。
/// <summary> /// InterstitialAdLoadCallbackを継承した派生クラス /// OnAdLoaded(interstitialAd)イベントを実装する /// </summary> public abstract class BaseInterstitialAdLoadCallback : InterstitialAdLoadCallback { [Register("onAdLoaded", "(Lcom/google/android/gms/ads/interstitial/InterstitialAd;)V", "GetOnAdLoadedHandler")] public virtual void OnAdLoaded(InterstitialAd interstitialAd) { } private static Delegate cb_onAdLoaded; private static Delegate GetOnAdLoadedHandler() { if (cb_onAdLoaded is null) { cb_onAdLoaded = JNINativeWrapper.CreateDelegate((Action<IntPtr, IntPtr, IntPtr>)n_onAdLoaded); } return cb_onAdLoaded; } private static void n_onAdLoaded(IntPtr jnienv, IntPtr native__this, IntPtr native_p0) { BaseInterstitialAdLoadCallback callback = GetObject<BaseInterstitialAdLoadCallback>(jnienv, native__this, JniHandleOwnership.DoNotTransfer); InterstitialAd interstitialAd = GetObject<InterstitialAd>(native_p0, JniHandleOwnership.DoNotTransfer); callback.OnAdLoaded(interstitialAd); } }
/// <summary> /// BaseInterstitialAdLoadCallbackを継承した派生クラス /// 広告が表示された場合、表示されなかった場合の処理を実装する /// </summary> public class MyInterstitialAdLoadCallback : BaseInterstitialAdLoadCallback { Context _context = null; public MyInterstitialAdLoadCallback(Context context) { _context = context; } public override void OnAdLoaded(InterstitialAd interstitialAd) { base.OnAdLoaded(interstitialAd); //成功時の処理を実装します。 } public override void OnAdFailedToLoad(LoadAdError p0) { base.OnAdFailedToLoad(p0); //失敗時の処理を実装します。 } }
void ShowInterstitial() { AdRequest.Builder requestBuilder = new AdRequest.Builder();
Context context = Xamarin.Forms.Forms.Context; //Android.App.Applicaiton.Contextだとエラーになります。 var callback = new MyInterstitialAdLoadCallback(context); InterstitialAd.Load(context, "Admobのキー", requestBuilder.Build(), callback); }
※名前とタイトルが入力されていないコメントでは他のコメントとの区別ができません。
入力されていないコメントには返信しませんのであらかじめご了承くださいませ。