2017-04-10 5 views
0

Ich habe ein paar Probleme mit dem Cordoca AdModPro Plugin, und vielleicht hat es etwas damit zu tun, dass ich neu in Javascript bin und mir einfach etwas offensichtlich fehlt.Cordova: AdModPro Plugin hängt an createbanner()

Ich habe die Anzeigen funktioniert gut, das Banner erscheint in meiner App, und auch die Anzeige Interstitial funktioniert super. Mein Problem scheint bei der Anzeigeninitialisierung zu liegen. Beim Erstellen der Anzeige scheint die gesamte App 5 bis 10 Sekunden hängen zu bleiben, während das Admob-Banner erstellt wird. (Ich habe mein Android-Handy mit meinem PC verbunden und kann beobachten, was es während dieser 10 Sekunden Hang, und es ist definitiv in Admob-Code). Hier ist das Schnipsel:

  if (/(android)/i.test(navigator.userAgent)) { // for android & amazon-fireos 
    Match3.admobid = { 
     banner: 'ca-app-pub-/XXX', // or DFP format "/6253334/dfp_example_ad" 
     interstitial: 'ca-app-pub-/XXX' 
    }; 
if (AdMob) AdMob.createBanner({ 
    adId: Match3.admobid.banner, 
    position: AdMob.AD_POSITION.TOP_CENTER, 
    isTesting: true, 
    autoShow: true, 
    overlap: true 
});   
} else if (/(ipod|iphone|ipad)/i.test(navigator.userAgent)) { // for ios 
    Match3.admobid = { 
     banner: 'ca-app-pub-/XX', // or DFP format "/6253334/dfp_example_ad" 
     interstitial: 'ca-app-pub-/XXX' 
    }; 
if (AdMob) AdMob.createBanner({ 
    adId: Match3.admobid.banner, 
    position: AdMob.AD_POSITION.TOP_CENTER, 
    isTesting: true, 
    autoShow: true, 
    overlap: true 
});   
} else { // for windows phone 
    Match3.admobid = { 
     banner: 'ca-app-pub-/XXX', // or DFP format "/6253334/dfp_example_ad" 
     interstitial: 'ca-app-pub-/XXX' 
    }; 
} 

Und der Code funktioniert tatsächlich. Ich kann einfach nicht herausfinden, warum das Telefon hängt. Sollte das nicht in einem Hintergrundthread oder sowas laufen? Ich habe versucht, diesen Code an verschiedene Stellen des Codes zu verschieben (sogar in onDeviceReady()), aber egal, wo ich es hinstelle, es hängt für etwa 10 Sekunden, wenn es läuft.

Fehle ich etwas? Ist das etwas, das Sie einfach umgehen müssen und das Laden so gut wie möglich maskieren? Oder funktioniert es nicht wirklich richtig?

+0

Ich habe admobpro sowie eine andere Plugin-Lösung für admob banner loading verwendet, und ich habe das auch in beiden gesehen. Ich lebe damit als eine einmalige Sache (da ich einfach das Banner zwischen den Erscheinungen verstecke und zeige) – MStoner

Antwort

1

Ok, ich herausgefunden das ist ein bekanntes Problem mit dem admobpro Plugin für cordova:

https://github.com/floatinghotpot/cordova-admob-pro/issues/504

Ich war in der Lage zu bekommen um es durch die obigen Anweisungen folgen und die Installation eine ältere Version von admobpro:

cordova-plugin-admobpro v2.12.0 und cordova-Plugin-Erweiterung v1.2.9

Funktioniert jetzt gut!

0

Ich bin nicht sicher, ob das mit createBanner das gleiche ist, aber ich weiß, wenn Sie Interstitial-Anzeigen erstellen, ist es immer am besten, mit prepareInterstitial zu laden und dann anzuzeigen, nachdem es geladen ist. Es könnte eine gute Idee sein, es so zu versuchen:

AdMob.createBanner({ 
    adId: admobid.banner, 
    position: AdMob.AD_POSITION.BOTTOM_CENTER, 
    autoShow: false, // Changed to false 
    success: function(){ 

     // Fires on success - Be careful because this could fire when it is done loading AND when it shows 
     console.log("success"); 
     Admob.showBanner(position); 
    }, 
    error: function(){ 
     alert('failed to create banner'); 
    } 
});