Кто использует AdMob в приложении MonoTouch для iPhone? - PullRequest
1 голос
/ 24 ноября 2010

Кто использует AdMob в приложении MonoTouch для iPhone?

Текущий SDK, который мы получили для admob: admob_iphone_sdk_20100908.tar.gz

У него есть два файла lib, но только файл NoThumb полезен из-за известной ошибки в компоновщике Apple:

libAdMobNoThumb.a (2.464.412 bytes, created on 16 september 2010 at 14:41)

Когда мы связываем тестовое приложение (только что сгенерированный iPhone-проект на базе Windows, без каких-либо изменений), используя следующие дополнительные флаги:

-gcc_flags "-L${ProjectDir} -lAdMobNoThumb -force_load ${ProjectDir}/libAdMobNoThumb.a"

mtouch терпит неудачу с треском Сбой mtouch без вывода (1)

(Мы используем опцию -force_load вместо опции -ObjC, как указано в примечании в конце:

http://developer.apple.com/library/mac/#qa/qa2006/qa1490.html)

Тестовый проект MT_SampleAdMob.zip доступен в блоге по адресу

http://sabonrai.wordpress.com/2009/09/27/monotouch-binding-for-admob/

содержит две старые библиотеки NoThumb:

libAdMobDeviceNoThumb3_0.a (539.288 bytes, created 15 jan 2010 at 03:26)
libAdMobSimulator3_0.a (488.464 bytes, created 5 september 2009)

При использовании библиотеки libAdMobDeviceNoThumb3_0.a со следующими gcc_flags:

-gcc_flags "-L${ProjectDir} -lAdMobDeviceNoThumb3_0 -force_load ${ProjectDir}/libAdMobDeviceNoThumb3_0.a"

сборка завершается успешно и создается приложение.

Мы еще не интегрировали ни одного из компонентов admob в это приложение, поэтому мы ничего не заявляем о функциональности admob. Просто о возможности установить связь с библиотекой, что кажется важным, прежде чем даже пытаться использовать ее функциональность.

Мы разочарованы тем фактом, что официальная библиотека не ссылается, где более старая версия делает ссылку. Кроме того, разница в размере значительна: официальный файл распух с коэффициентом 4,5!

Так что, если кто-то там использует admob в приложении monotouch, пожалуйста, предоставьте любую соответствующую информацию, чтобы мы могли продолжить работу с нашим приложением.

ТИА

Mollyke.

Ответы [ 2 ]

1 голос
/ 12 февраля 2012

Так как многие найдут этот вопрос, вы можете использовать современные привязки monotouch для admob, опубликованные на github здесь https://github.com/dalexsoto/AlexTouch.GoogleAdMobAds

Вот пример того, как его использовать и как подписываться на его события

public override void ViewDidLoad ()
        {
            base.ViewDidLoad ();

            var ad = new GADBannerView(new RectangleF(new PointF(0,0), GADBannerView.GAD_SIZE_300x250))
            {
                AdUnitID = "Use Your AdMob Id here",
                RootViewController = this

            };

            ad.DidReceiveAd += delegate 
            {
                this.View.AddSubview(ad);
                Console.WriteLine("AD Received");
            };

            ad.DidFailToReceiveAdWithError += delegate(object sender, GADBannerViewDidFailWithErrorEventArgs e) {
                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");
            };

            Console.Write("Requesting Ad");
            ad.LoadRequest(new GADRequest());
}
0 голосов
/ 28 ноября 2010

Использование библиотеки AdMob работает, как только библиотека TouchJSON также связана с приложением через gcc_flags.

...