2017-07-03 8 views
0

私はionic2の(動画)広告を表示するための良いプラグインを見つけようとしています。私はhttps://github.com/cranberrygame/cordova-plugin-ad-adcolonyで試しましたが、ionic2とangular2で動作するように調整することはできません。私はまた、ionic2プラグインであるAdMobを見直しましたが、私が読んだ(バナーのみ)ようにビデオ広告はサポートされていません。私のionic2アプリのために、どうすればいいのか、どうすればいいのかアドバイスできますか?ありがとう。ところでイオン2ビデオ広告プラグ

、私は

<button ion-button (click)="window.plugins.adcolony.showInterstitialAd();">showInterstitialAd</button> 

下記のHTMLでこのようwindow.plugins.adcolony.showIntersitialAd() adcolonyを実行しようとしているとき、それは

HomePage.html:15 ERROR TypeError: Cannot read property 'plugins' of undefined

と私はそれを実行しようとして返しますこのように

<button ion-button (click)="window.adcolony.showInterstitialAd();">showInterstitialAd</button> 

llowingエラー:

HomePage.html:15 ERROR TypeError: Cannot read property 'adcolony' of undefined 

任意のヘルプはところで、

:)おかげで理解されるであろう、https://apps.ionic.io/apps

答えて

1

を通じてアプリをテストI`mは、このプラグインを試してみてください:https://github.com/appfeel/admob-google-cordova

cordova plugin add cordova-admob 

インタースティシャルが読み込まれるまで待つ必要があります。また、アプリがバックグラウンドのときにインタースティシャルの読み込みを無効にすることをおすすめしますあなたが答えるために

var isAppForeground = true; 
var isInterstitialAvailable = false; 

function tryToShowInterstitial() { 
    if (isInterstitialAvailable) { 
     admob.showInterstitialAd(); 
    } else { 
     // Do your button action here when there are no ads to show 
    } 
} 

function onAdLoaded(e) { 
    if (isAppForeground) { 
    if (e.adType === admob.AD_TYPE.INTERSTITIAL) { 
     isInterstitialAvailable = true; 
    } 
    } 
} 

function onAdClosed(e) { 
    if (isAppForeground) { 
    if (e.adType === admob.AD_TYPE.INTERSTITIAL) { 
     // Would you like to prepare next interstitial? 
     setTimeout(admob.requestInterstitialAd, 1); 
     isInterstitialAvailable = false; 
    } 
    } 
} 

function onPause() { 
    if (isAppForeground) { 
    admob.destroyBannerView(); 
    isAppForeground = false; 
    } 
} 

function onResume() { 
    if (!isAppForeground) { 
    setTimeout(admob.createBannerView, 1); 
    setTimeout(admob.requestInterstitialAd, 1); 
    isAppForeground = true; 
    } 
} 

// optional, in case respond to events 
function registerAdEvents() { 
    document.addEventListener(admob.events.onAdLoaded, onAdLoaded); 
    document.addEventListener(admob.events.onAdClosed, onAdClosed); 

    document.addEventListener("pause", onPause, false); 
    document.addEventListener("resume", onResume, false); 
} 

function initAds() { 
    if (admob) { 
    var adPublisherIds = { 
     ios : { 
     banner : "ca-app-pub-XXXXXXXXXXXXXXXX/BBBBBBBBBB", 
     interstitial : "ca-app-pub-XXXXXXXXXXXXXXXX/IIIIIIIIII" 
     }, 
     android : { 
     banner : "ca-app-pub-XXXXXXXXXXXXXXXX/BBBBBBBBBB", 
     interstitial : "ca-app-pub-XXXXXXXXXXXXXXXX/IIIIIIIIII" 
     } 
    }; 

    var admobid = (/(android)/i.test(navigator.userAgent)) ? adPublisherIds.android : adPublisherIds.ios; 

    admob.setOptions({ 
     publisherId:   admobid.banner, 
     interstitialAdId:  admobid.interstitial, 
     autoShowInterstitial: false 
    }); 

    registerAdEvents(); 

    } else { 
    alert('AdMobAds plugin not ready'); 
    } 
} 

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

    // display a banner at startup 
    admob.createBannerView(); 

    // request an interstitial 
    admob.requestInterstitialAd(); 
} 

document.addEventListener("deviceready", onDeviceReady, false); 
+0

こんにちはデビッド、ありがとう:

<button ion-button (click)="tryToShowInterstitial();">showInterstitialAd</button> 

そして、あなたのjavascriptのコードで

:あなたが間質を要求した瞬間と瞬間の間に遅延があるとして、あなたはそれを示しています。私はすでにプロジェクトにAdMobを統合していますが、rewardvideoを使用していますが、時には報酬動画広告が読み込めないことがあります:(時々完璧に動作しますが、読み込みに失敗することがあります。 ( –

関連する問題