我正在尝试在我的appcelerator项目中使用Google-Mobile- ads -SDK,因为ti.admob (https://github.com/appcelerator-modules/ti.admob)似乎不支持有偿广告。因此,我在顶级项目目录中创建了一个Podfile:
install! 'cocoapods',
:integrate_targets => false
platform :ios, '7.0'
target 'my app' do
use_frameworks!
pod 'Google-Mobile-Ads-SDK', '7.15'
end(我无法使用最新版本的pod,Xcode在某些类型声明问题上出现问题--这个版本编译得很好。)
然后我使用了这个库,如下所示:
var GADRequest = require('GoogleMobileAds/GADRequest');
var GADRewardBasedVideoAd = require('GoogleMobileAds/GADRewardBasedVideoAd');
var instance = GADRewardBasedVideoAd.sharedInstance();
if (!instance.isReady()) {
var request = new GADRequest();
instance.loadRequest(request, Alloy.CFG.rewardedadid);
}代码失败并返回错误:
TypeError: undefined is not a function
(evaluating 'instance.loadRequest(request, Alloy.CFG.rewardedadid)')查看./build/hyperloop/ios/js/googlemobileads/gadrewardbasedvideoad.js上相应生成的.js文件,我注意到实例方法和属性的函数签名是为GADRewardBasedVideoAd.h中除loadRequest()之外的所有内容生成的。loadRequest()的标头条目为:
- (void)loadRequest:(GADRequest *)request withAdUnitID:(NSString *)adUnitID;唯一值得注意的区别是它使用了一个命名参数。这种方法有什么特别之处吗?是我做错了什么,还是Hyperloop还不支持这样的函数?
https://stackoverflow.com/questions/44344063
复制相似问题