如何使用 Cordova 从 MainViewController 切换 admob 视图
Posted
技术标签:
【中文标题】如何使用 Cordova 从 MainViewController 切换 admob 视图【英文标题】:How to toggle admob view from MainViewController using Cordova 【发布时间】:2012-08-22 10:11:43 【问题描述】:我已经在我的 iPhone 应用程序中实现了 admob,但是创建的视图应该根据我的 javascript 条件进行切换。所以,我需要使用科尔多瓦插件切换该视图。是否有可能使用 phonegap 切换 admob 视图?
【问题讨论】:
【参考方案1】:我将假设切换意味着您想要隐藏视图。您也可能意味着您想请求一个新广告,但无论如何我认为逻辑是相同的。
如果您已将 AdMob 代码设置为插件,则可以编写一些调用该插件的 js(即使您没有这样做,您也可以这样做)。所以javascript方法可能看起来像:
AdMob.prototype.hideAd =
function(options, successCallback, failureCallback)
var defaults =
'isHidden': false
;
for (var key in defaults)
if (typeof options[key] !== 'undefined')
defaults[key] = options[key];
cordova.exec(
successCallback,
failureCallback,
'AdMobPlugin',
'hideAd',
new Array(defaults)
);
;
然后在处理 AdMob 视图的本机代码中,您可以执行以下操作:
- (void)hidAd:(NSMutableArray *)arguments
withDict:(NSMutableDictionary *)options
CDVPluginResult *pluginResult;
NSString *callbackId = [arguments pop];
if (!self.bannerView)
// Try to prevent requestAd from being called without createBannerView first
// being called.
pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR
messageAsString:@"AdMobPlugin:"
@"No ad view exists"];
[self writeJavascript:[pluginResult toErrorCallbackString:callbackId]];
return;
BOOL isHidden = (BOOL)[[options objectForKey:@"isHidden"] boolValue];
self.bannerView.hidden = isHidden;
pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK];
[self writeJavascript:[pluginResult toSuccessCallbackString:callbackId]];
【讨论】:
以上是关于如何使用 Cordova 从 MainViewController 切换 admob 视图的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Cordova 从 MainViewController 切换 admob 视图