如何在 iOS 中使用 Admob Phonegap 插件
Posted
技术标签:
【中文标题】如何在 iOS 中使用 Admob Phonegap 插件【英文标题】:How to use Admob Phonegap plugin with iOS 【发布时间】:2012-05-20 18:23:29 【问题描述】:我正在使用this Admob plugin for Phonegap 在 ios 上运行,如下所示:
window.plugins.AdMob.createBanner("siteId":"my-site-id");
window.plugins.AdMob.loadBanner();
// move banner to make it appear
window.plugins.AdMob.moveBanner("positionX":0,"positionY":410);
而且它确实有效。问题是这导致我的应用程序消耗大量内存,并且根据我从 iTunesConnect 获得的 Apple 崩溃报告,该应用程序在设备上崩溃。
你能帮我理解如何使用这个插件吗?
谢谢!
【问题讨论】:
你知道你的应用在哪里消耗了大量内存吗?您是否有任何崩溃报告和/或堆栈跟踪向我们展示?这些将有助于确定问题。 请看崩溃报告here 您如何确定 AdMob 方法的参数?任何参考将不胜感激,谢谢! 【参考方案1】:您是否在任何地方使用 deleteBanner: 方法?我认为那里可能存在内存泄漏。该插件看起来像是从其超级视图中删除了 adBanner 属性并将其删除,但我认为它可能还需要:
将adBanner
的delegate
设置为nil
释放adBanner
(您可以通过查看adBanner
的保留计数来仔细检查这一点)。我认为 UIViewController 的dealloc
会自动调用removeFromSuperView
:但deleteBanner
:可能不会这样做?
【讨论】:
我相信你是对的,正确的用法可能是这样的// First delete banner if exsist in any of the html pages window.plugins.AdMob.deleteBanner(); window.plugins.AdMob.createBanner("siteId":"my-site-id"); window.plugins.AdMob.loadBanner(); // move banner to make it appear window.plugins.AdMob.moveBanner("positionX":0,"positionY":410);
你怎么看?
好的,所以使用deleteBanner
方法不起作用,应用程序在启动时继续崩溃。我现在将此self.adBanner.delegate = nil; [self.adBanner release];
添加到 AdMobController.m。希望它会工作,以上是关于如何在 iOS 中使用 Admob Phonegap 插件的主要内容,如果未能解决你的问题,请参考以下文章
iOS开发中如何使用广告-iAd-Admob-关东升-专题视频课程
如何使用适用于 iOS 的 Admob (google) 设置 MoPub 中介?
如何使用PhoneGap程序将AdMob广告嵌入到你的HTML5 iOS游戏中