4

私はこれを数日間やろうとしていますが、まだできません。そして、いくつかのサンプルを見つけようとしましたが、それらはすべて Android 上にあります。iOS で admob の統合に成功した人はいますか?

4

2 に答える 2

2

monotouch-bindings リポジトリのAdMob バインディングで問題が発生しました。しかし、その後AlexTouch.GoogleAdMobAdsバインディングに切り替えたところ、うまく機能しました。Github の README に AlexTouch.GoogleAdMobAds の使用例があります。非常に簡単ですが、助けが必要な場合は、お気軽に詳細な質問をしてください。

于 2012-12-17T10:24:07.877 に答える
0
        // code for admob "using AlexTouch.GoogleAdMobAds"
        UIViewController vc = new UIViewController ();
        UIViewController controller = UIApplication.SharedApplication.Windows [0].RootViewController;

        var ad = new GADBannerView (GADAdSizeCons.SmartBannerLandscape, new PointF (0, 0))
        {
            AdUnitID = "ADMOB_ID",
            RootViewController = vc
        };
        ad.Hidden = false;

        ad.DidReceiveAd += delegate {
            ad.Hidden = false;
            ad.Frame = new System.Drawing.RectangleF (0, (int) 0, (int) (ad.Bounds.Width), (int) (ad.Bounds.Height));
            Console.WriteLine ("AD Received");
        };

        ad.DidFailToReceiveAdWithError += delegate(object sender, GADBannerViewDidFailWithErrorEventArgs e) {
            ad.Hidden = true;
            Console.WriteLine (e.Error);

        };

        ad.WillPresentScreen += delegate {
            Console.WriteLine ("showing new screen");
        };

        ad.WillLeaveApplication += delegate {
            Console.WriteLine ("I will leave application");
        };

        ad.WillDismissScreen += delegate {
            Console.WriteLine ("Dismissing opened screen");
        };
        ad.UserInteractionEnabled = true;

        vc.View.AddSubview(ad);
        vc.View.Frame = new System.Drawing.RectangleF(0f,  0f,  (int)(ad.Bounds.Width), (int)(ad.Bounds.Height));
        controller.View.AddSubview(vc.View);

        Task.Factory.StartNew(() => {
            while (true)
            {
                Console.WriteLine("Requesting Ad");
                InvokeOnMainThread (delegate { 
                    GADRequest r = new GADRequest();

                    ad.LoadRequest(r);
                });
                System.Threading.Thread.Sleep(30000);
            }
        });
于 2012-12-18T02:39:34.937 に答える