2014-12-22 8 views
6

Hat jemand Glück gehabt, externe Plugins zur Phonegap Desktop App hinzuzufügen? Ich hatte Erfolg, Core-Plugins wie "Device" hinzuzufügen, aber keine externen. Ich versuche, com.admob.google zu meinem Projekt hinzuzufügen, und ich kann nicht zulassen, dass admob als Befehl erkannt wird. Im config.xml hinzufügen I:PhoneGap Desktop App externe Plugins

<gap:plugin name="com.admob.google" source="plugins.cordova.io" /> 

Und in meiner deviceReady Funktion in meinem JS-Datei Ich habe:

try{ 
    admob.requestInterstitialAd(); //or any other admob command 
} 
catch(err){ 
    alert("admob not loaded"); 
} 

Jedes Mal auf meinem Gerät (via Phonegap Entwickler App) ich das bekommen Warnung sagen, dass "admob nicht geladen".

Mische ich Phonegap und Phonegap Build Befehle?

Unterstützt die Phonegap Build Desktop App noch nicht die automatische Einbindung externer Plugins?

+1

Die Einbindung von Plugins über 'config.xml' funktioniert nur für PGBuild. –

Antwort

6

Ich bin der Autor des Plugins, das Sie verwenden möchten. Es scheint, dass Sie die Befehlszeilenschnittstelle verwenden, die es keine Automatisierung auf < hat Lücke: Plugin ... > noch (und ich bin mir nicht sicher, dass es in naher Zukunft kommt).

Wie Sanfor sagt, wenn Sie Phonegap CLI verwenden, sollten Sie alle manuell Plugin hinzufügen:

phonegap local plugin add cordova-admob 

Oder wenn Sie Cordova verwenden:

cordova plugin add cordova-admob 

Wenn Sie Phonegap Build verwenden, sollten Sie Setzen Sie das Etikett in config.xml:

<gap:plugin name="cordova-admob" source="npm" /> 

In diesem Fall können Sie auch die Anweisungen unter https://github.com/appfeel/admob-phonegap-build-demo.git befolgen, um die Demo-App in Ihrem Phonegap Build-Konto zu testen.

Denken Sie daran, immer admob zu verwenden, nachdem deviceready Ereignis ausgelöst wurde:

function onAdLoaded(e) { 
    if (e.adType === admob.AD_TYPE.INTERSTITIAL) { 
    admob.showInterstitialAd(); 
    } 
} 

function onDeviceReady() { 
    document.removeEventListener('deviceready', onDeviceReady, false); 

    // Set AdMobAds options: 
    admob.setOptions({ 
    publisherId:   "YOUR_PUBLISHER_ID",     // Required 
    interstitialAdId:  "YOUR_PUBLISHER_OR_INTERSTITIAL_ID", // Optional 
    }); 

    // Start showing banners inmediately: 
    admob.createBannerView(); 

    // To show an interstitial, call admob.showInterstitialAd() when onAdLoaded is fired: 
    document.addEventListener(admob.events.onAdLoaded, onAdLoaded, false); 
    admob.requestInterstitial(); 

    // You could also request and show an interstitial like this: 
    // admob.requestInterstitialAd({ autoShowInterstitial: true}); 
} 

document.addEventListener('deviceready', onDeviceReady, false); 

Es ist interessant zu wissen, ob Sie mit CLI testen PGB später zu verwenden. Ich bin mir jedoch nicht sicher, ob es ein Modell der Admob-Funktionalität hilft. Lass es mich wissen, wenn es dein Fall ist. Die einzige Situation, die mir in den Sinn kommt, ist, dass Sie die App in einem Desktop-Browser testen möchten, in dem Plugins nicht unterstützt werden. Aber selbst in diesem Fall würde ich vorschlagen, dass Sie ripple incubator from github verwenden (oder sogar weinre, aber wenn Sie in einem Mac sind, ist es besser, Safari-Entwickler-Tools zu verwenden).

EDIT 2016-04-22

Aktualisiert alte Plugin Verweise auf neueste Einsen und npm Quelle für phonegap bauen.

+1

Ich habe die "Phonegap Desktop App" (http://phonegap.com/blog/2014/12/11/phonegap-desktop-app-beta/) verwendet, die ich herausgefunden habe, ist die GUI-Version des CLI und unterstützt derzeit keine externen Plugins. Am Ende habe ich meine bewährte Methode benutzt, um mit Phonegap Build zu arbeiten und das Plugin über die Datei config.xml zu setzen. Tolles Plugin übrigens, sehr einfach zu bedienen und jede Menge Features/Methoden. – Dom

+0

Angesichts dieses Problems, können Sie uns helfen, es zu lösen? http://StackOverflow.com/questions/36775178/Phonegap-desktop-not-launching-properly-keeps-loading – Haris

+0

@Haris, wie ist dieses Problem im Zusammenhang mit dem, auf den Sie hingewiesen haben? – Miquel

1

Ich bin kein Experte, aber ich habe das nicht zur Arbeit. Ich denke, dass Sie tatsächlich PG- und PGB-Konfigurationen mischen (Lücke: Plugin). Da ich kein Glück hatte, diese Arbeit zu bekommen (ich nehme an, Sie müssten diese über CLI hinzufügen), kann ich nur vorschlagen, was ich getan habe: mock diese Plugins, die nicht standardmäßig vorhanden ist. Sie können zum Beispiel admob Objekt mit den notwendigen Funktionen für Sie definieren.

Verwandte Themen