【问题标题】:phonegap admob plugin get banner height in xcodephonegap admob 插件在 xcode 中获取横幅高度
【发布时间】:2015-01-14 12:09:32
【问题描述】:

我正在使用 admob 插件(在 iOS 中),它工作得很好,但我也使用谷歌地图,我根据屏幕高度减去标题调整地图高度,现在我还需要降低 admob 横幅高度。

我尝试添加一个用于获取横幅大小的新函数并从 javascript 调用它,但没有得到任何响应。

这是我添加到 CDVAdMob.m 文件中的代码:

- (GADAdSize)GetAdSize:(CDVInvokedUrlCommand *)command  {
    return self.bannerView.adSize;
}

我还有 CDVAdMob.h 文件的函数签名:

- (GADAdSize)GetAdSize:(CDVInvokedUrlCommand *)command;

我不熟悉objective c代码,所以我不知道我所做的是否正确。

在 javascript 中,我通过以下方式调用了新函数:

window.plugins.AdMob.createBannerView();
var size = window.plugins.AdMob.GetAdSize();
alert(size);

谁能告诉我它是如何正确完成的?

感谢

【问题讨论】:

    标签: javascript cordova xcode5 admob


    【解决方案1】:

    只需设置以下2个选项:{overlap:false, offsetTopBar:true},插件会自动扣除状态栏和banner view的高度。

    如果您正在使用其他一些分叉并且没有此类功能,请尝试以下步骤。

    Cordova 插件 API 是一个 void 函数:

    - (void) YourAPI:(CDVInvokedUrlCommand *)command;
    

    并且,将数据传回 javascript:

    [self.commandDelegate sendPluginResult:result callbackId:callbackId];
    

    GADAdSize 是一个数据结构,你需要把它转换成一个 JSON 对象,然后发回。

    typedef struct GADAdSize {
      CGSize size;
      NSUInteger flags;
    } GADAdSize;
    

    所以,你的代码可以是:

    - (void) GetAdSize:(CDVInvokedUrlCommand *)command {
        //GADAdSize adSize;
    
        NSMutableDictionary* data = [[NSMutableDictionary alloc] init];
        [data setValue:[NSNumber numberWithFloat:adSize.size.width] forKey:@"width"];
        [data setValue:[NSNumber numberWithFloat:adSize.size.height] forKey:@"height"];
        CDVPluginResult* result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsDictionary:data];
        [self.commandDelegate sendPluginResult:result callbackId:command.callbackId];
    }
    

    AdMob.js 中的映射:

    admobExport.GetAdSize = function(successCallback, failureCallback) {
        cordova.exec( successCallback, failureCallback, 'AdMob', 'GetAdSize', [] );
    };
    

    然后在javascript中调用它:

    window.pugins.AdMob.GetAdSize(function(data){
        var width = data.width;
        var height = data.height;
    },function(){});
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-21
      相关资源
      最近更新 更多