2016-11-17 72 views
0

我使用離子2.AdMob中使用離子2

Your system information: 

Cordova CLI: 6.4.0 
Ionic Framework Version: 2.0.0-beta.11 
Ionic CLI Version: 2.1.0 
Ionic App Lib Version: 2.0.0-beta.20 
OS: 
Node Version: v6.2.2 

我剛裝了插件科爾多瓦cordova-admob-pro

cordova plugin add cordova-plugin-admobpro 

然後按照他們的指示,我添加以下代碼:

app.ts

import { AdMob } from 'ionic-native'; 
.... 
if (AdMob) AdMob.createBanner({ 
    adId: admobid.banner, 
    position: AdMob.AD_POSITION.BOTTOM_CENTER, 
    isTesting: true,//comment this out before publishing the app 
    autoShow: true 
}); 

不過,我得到以下錯誤:

ERROR in ./app/app.ts 
(138,23): error TS2339: Property 'AD_POSITION' does not exist on type 'typeof AdMob'. 

當我跟隨導入的代碼,AdMob是在插件admob.d.ts定義,但它沒有一個AD_POSITION

的AdMob。 d.ts

... 
export declare class AdMob { 
... 

如果誰能指教一下我做錯了,我怎麼能在獲得一個句柄,我將不勝感激。

感謝

UPDATE

的問題是因爲在ionic-nativeAdmob沒有AD_POSITION,但是,如果我從ionic-native除去進口,我得到:

ERROR in ./app/app.ts 
(136,9): error TS2304: Cannot find name 'AdMob'. 

我看到AD_POSITIONplugins\cordova-plugin-admobpro\typescript\AdMob.d.ts。所以我收集,這是我應該使用的。但是,我如何導入這個?

UPDATE

這可能是問題。我只是在測試它。

enter image description here

UPDATE

這是我現在有,但我仍然得到以下錯誤:

enter image description here

ERROR in ./app/app.ts 
(136,9): error TS2304: Cannot find name 'AdMob'. 

所以我的問題是,我不不知道如何從插件導入'AdMob'。

+0

是這樣解決? –

+0

我通過下面的答案解決了我的問題。 – Richard

回答

1

卜不進口AdMob,並執行以下操作,而不是工作:

declare var AdMob: any;

0

添加AdMobPro離子2

步驟1:安裝AdMobPro插件

ionic cordova plugin add cordova-plugin-admobpro

第2步:添加平臺

ionic cordova platform add android
OR

ionic cordova platform add ios

第3步:實施AdMob廣告到您的離子2項目

橫幅廣告

我們需要把它的src /應用程序/應用程序內部代碼.component.ts

import { AdMobPro } from '@ionic-native/admob-pro'; 

constructor(private admob: AdMobPro,platform: Platform) { 
    platform.ready().then(() => { 

     this.admob.createBanner({ adId: 'ca-app-pub-............', adSize: 'SMART_BANNER', isTesting: false }).then(() => { 
     this.admob.showBanner(8); 
     }); 

    }); 
    } 

我們需要在裏面編碼SRC /應用/ app.module.ts

import { AdMobPro } from '@ionic-native/admob-pro'; 

providers: [ 
    AdMobPro, 

內廣告

loadAd(){ 
    let options = { 
    adId: 'ca-app-pub-5732334124058455/3403366048', 
    isTesting: false 
    }; 
    AdMob.prepareInterstitial(options) 
     .then(() => { 
      AdMob.showInterstitial(); 
     }); 
    };