2014-12-22 2 views
6

Phonegap Desktop App에 외부 플러그인을 추가 한 사람이 있습니까? 나는 "Device"와 같은 핵심 플러그인을 성공적으로 추가했지만 외부 플러그인은 추가하지 못했습니다. 내 프로젝트에 com.admob.google을 추가하려고하는데 admob을 명령으로 인식 할 수 없습니다. Config.xml의 나는 추가 :Phonegap Desktop App 외부 플러그인

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

(폰갭 개발자 앱을 통해) 내 장치에서 때마다 내가 얻을 :

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

그리고 내의 .js 내 deviceReady 기능에

내가 가진 파일 "admob가 적재되지 않았다"라고 경고하는 것.

PhoneGap 및 Phonegap 빌드 명령을 혼합하고 있습니까?

Phonegap Build Desktop 앱이 외부 플러그인의 자동 포함을 아직 지원하지 않습니까?

+1

'config.xml '을 통한 플러그인 포함은 PGBuild에서만 작동합니다. –

답변

6

저는 사용하려는 플러그인의 작성자입니다. 그것은 당신이 < gap : plugin ... >에 대한 자동화 기능을 가지고 있지 않은 커맨드 라인 인터페이스를 사용하고있는 것으로 보입니다. (그리고 나는 가까운 장래에 들어올 것 같지 않습니다.) 당신이 Cordova를 사용하는 경우

phonegap local plugin add cordova-admob 

을 또는 : 당신이 Phonegap CLI를 사용하는 경우 Sanfor으로

는 말한다, 당신은 수동으로 플러그인 매를 추가해야

cordova plugin add cordova-admob 

당신이 Phonegap Build를 사용하는 경우, 당신이해야 태그를 넣으십시오 config.xml :

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

이 경우 https://github.com/appfeel/admob-phonegap-build-demo.git의 안내에 따라 Phonegap Build 계정에서 데모 앱을 테스트 할 수도 있습니다. deviceready 이벤트가 시작 된 후

항상 몹을 사용해야합니다 :

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); 

그것은 당신이 나중에 PGB를 사용하는 CLI으로 테스트하는 경우 알고 흥미 롭군요. 그러나, 필자가 admob 기능의 실물 모형을 돕는 지 확신 할 수 없다. 네 사건인지 알려주지. 내 마음에 유일한 상황은 플러그인이 지원되지 않는 데스크톱 브라우저에서 앱을 테스트하고 싶다는 것입니다. 그러나 그 경우에도 나는 ripple incubator from github (또는 심지어 weinre를 사용하도록 제안 하겠지만, 당신이 Mac에 있다면 사파리 개발자 도구를 사용하는 것이 더 낫습니다.)

편집 새로운 사람과 폰갭 빌드에 대한 NPM 소스에 2016년 4월 22일

업데이트 된 플러그인 참조.

+1

"Phonegap Desktop App"(http://phonegap.com/blog/2014/12/11/phonegap-desktop-app-beta/)을 사용하여 CLI의 GUI 버전을 확인했습니다. 현재 외부 플러그인을 지원하지 않습니다. Phonegap Build로 빌드하고 config.xml을 통해 플러그인에서 설정하는 내 노력을 기울인 진정한 방법을 사용하여 끝내었고 작동하도록 관리했습니다. 훌륭한 플러그인, 사용하기 쉽고 기능/메소드가 많습니다. – Dom

+0

이이 문제를 직면하면 해결할 수 있습니까? http://stackoverflow.com/questions/36775178/phonegap-desktop-not-launching-properly-keeps-loading – Haris

+0

@ 하리스,이 문제는 귀하가 지적한 것과 어떤 관련이 있습니까? – Miquel

1

저는 전문가는 아니지만 제대로 작동하지 않았습니다. PG 및 PGB 구성 (갭 : 플러그인)을 실제로 혼합하고 있다고 생각합니다. 이후 나는 그 일을 얻는 데 운이 없었기 때문에 (내가 CLI을 통해 이들을 추가 할 필요가 있다고 가정한다.) 나는 단지 내가 한 것을 제안 할 수있다 : mock 기본적으로 존재하지 않는 플러그인들. 예를 들어 admob 개체를 필요한 기능을 사용할 수 있도록 정의 할 수 있습니다.