如何在 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 属性并将其删除,但我认为它可能还需要:

adBannerdelegate 设置为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

如何使用适用于 iOS 的 Admob (google) 设置 MoPub 中介?

如何使用PhoneGap程序将AdMob广告嵌入到你的HTML5 iOS游戏中

iOS - Swift Google AdMob SDK 如何在 UITableView 的重复项目中显示不同的广告?

在 Flutter 中,如何将 facebook 受众作为中介网络与 Admob 集成?