我试图让广告在Ionic应用中使用此插件,并通过插页式广告和横幅获得非常不一致的结果。
当前代码在$ ionicPlatform.ready()中设置插页式广告和横幅广告:
angular.module('myApp',
[
'ionic',
'ngCordova',
'ngIOS9UIWebViewPatch'
])
.constant('myConf', {
ads: {
appBanner: '/1234567/*******************',
appInterstitial: '/1234567/*******************',
roaInterstitial: '/1234567/*******************'
}
})
.run(function ($ionicPlatform, $rootScope, $ionicLoading, myConf, $cordovaKeyboard, $cordovaGoogleAds) {
$ionicPlatform.ready(function () {
if ($cordovaKeyboard) {
$cordovaKeyboard.hideAccessoryBar(true);
}
if (window.StatusBar) {
StatusBar.styleDefault();
}
if (AdMob) {
AdMob.prepareInterstitial({
interstitialAdId: myConf.ads.roaInterstitial,
autoShow: false
});
AdMob.createBanner({
adId: myConf.ads.appBanner,
autoShow: false
});
}
});
)};
然后在main.js和控制器中:
if (AdMob) {
AdMob.showInterstitial();
}
和
if (AdMob) {
AdMob.showBanner(AdMob.AD_POSITION.BOTTOM_CENTER);
}
不可否认,代码包含在回调中并且有点复杂,但在测试中,我已将代码与此配对,将广告代码从if语句中取出或在if语句中执行console.log(代码肯定是进入if语句),并尝试了autoShow:true,结果相同。
我们正在测试ios& android模拟器和离子视图。广告代码是正确的,这些测试广告没有频率或其他限制。
我在ios模拟器上一直看到横幅,但在android或ios设备上没有(通过离子视图)。
插页式广告仅偶尔出现在ios模拟器上,而且从未出现在ios或Android设备上。
如果我跑:
$ ionic run ios -l -c
我看到来自cordova-plugin-extension的多个警告:
while processing /Library/WebServer/www/my_app/platforms/ios/myApp/Plugins/cordova-plugin-extension/libCordovaGenericAd.a(GenericAdPlugin.o):
warning: /Users/liming/Library/Developer/Xcode/DerivedData/ModuleCache/1UIOVPNM0I1EA/CoreGraphics-N94D31PLFESQ.pcm: No object file for requested architecture
while processing /Library/WebServer/www/my_app/platforms/ios/myApp/Plugins/cordova-plugin-extension/libCordovaGenericAd.a(GenericAdPlugin.o):
warning: Could not resolve external type c:objc(cs)NSObject
我不知道这是否相关,虽然我认为这可以在https://github.com/floatinghotpot/cordova-extension/issues/5中修复
答案 0 :(得分:0)
我发现了一些问题:
答案 1 :(得分:0)
已找到最终解决方案 - 离子视图阻止了广告!一旦我编译应用程序并将其分发到itunes connect,它们就可以了!
我必须克服一些障碍才能编译,我将分享这些障碍,以便任何有类似问题的人都可以找到答案:
clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)
ld:无法生成bitcode包,因为'/Library/WebServer/www/myApp/platforms/ios/myApp/Plugins/cordova-plugin-extension/libCordovaGenericAd.a(GenericAdPlugin.o)'是在没有完整bitcode的情况下构建的。必须从Xcode Archive或Install build for architecture armv7
生成bitcode的所有目标文件和库