Я пытаюсь заставить рекламу работать с помощью этого плагина в приложении 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 или создав console.log внутри оператора if (код определенно ввода оператора if), а также попробовал autoShow: true с теми же результатами.
Мы тестируем на симуляторе ios и android и ionic view. Рекламные коды верны, и для этих тестовых объявлений нет ограничений по частоте или других ограничений.
Я постоянно вижу баннер на симуляторе 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