Uncaught TypeError:Object...不是Ionic 5上的AdMob Plus函数

问题描述

安装ADMOB PLUS后遇到以下错误,该如何解决?它显示空白页:

Uncaught TypeError: Object(...) is not a function
    at /vendor-es2015.js:98290
    at Module../node_modules/ionic-admob/dist/index.js (/vendor-es2015.js:98309)
    at __webpack_require__ (/runtime-es2015.js:85)
    at Module../src/app/app.component.ts (/main-es2015.js:443)
    at __webpack_require__ (/runtime-es2015.js:85)
    at Module../src/app/app.module.ts (/main-es2015.js:510)
    at __webpack_require__ (/runtime-es2015.js:85)
    at Module../src/main.ts (/main-es2015.js:586)
    at __webpack_require__ (/runtime-es2015.js:85)
    at Object.0 (/main-es2015.js:611)   

// DEPENDENCIES(我了解到是否正在使用Beta版,我必须在此处修复某些问题,但我根本没有使用它)

"dependencies": {
    "@angular/common": "~10.0.0","@angular/core": "~10.0.0","@angular/forms": "~10.0.0","@angular/platform-browser": "~10.0.0","@angular/platform-browser-dynamic": "~10.0.0","@angular/router": "~10.0.0","@capacitor/android": "^2.4.0","@capacitor/core": "2.4.0","@ionic-native/admob-plus": "^5.28.0","@ionic-native/camera": "^5.28.0","@ionic-native/core": "^5.0.0","@ionic-native/splash-screen": "^5.0.0","@ionic-native/status-bar": "^5.0.0","@ionic-super-tabs/angular": "^7.0.8","@ionic/angular": "^5.0.0","@ionic/pwa-elements": "^3.0.1","cordova-admob-plus": "^0.36.0","cordova-android": "^8.1.0","cordova-plugin-androidx": "^2.0.0","cordova-plugin-androidx-adapter": "^1.1.1","cordova-plugin-camera": "^4.1.0","cordova-plugin-consent": "^0.17.3","ionic-admob": "^0.19.9","rxjs": "~6.5.5","rxjs-compat": "^6.6.2","tesseract.js": "^2.0.0-beta.2","tslib": "^2.0.0","zone.js": "~0.10.3"
  },

解决方法

解决方案:

它似乎是因为它一直在给您错误,我正在使用“ Cordova安装”(不适用于离子包装或电容器方式)。 “ Google广告测试”在设备上完美运行,我读到在Google Play商店上发布该应用后,这些广告将可以正常运行(Admob Plus)

  1. 安装cordova admob plus:

    cordova插件添加cordova-admob-plus --variable APP_ID_ANDROID = YOUR_APP〜ID

  2. app.component.ts上的完整示例

    从“ @ angular / core”导入{组件}; 从'@ ionic / angular'导入{Platform}; 从'@ ionic-native / splash-screen / ngx'导入{SplashScreen}; 从'@ ionic-native / status-bar / ngx'导入{StatusBar};

    声明var admob;

    @Component({ 选择器:“ app-root”, templateUrl:“ app.component.html”, styleUrls:['app.component.scss'] }) 导出类AppComponent {

    构造函数( 私人平台:平台, 私人的SplashScreen:SplashScreen, 私人statusBar:StatusBar ){ this.initializeApp(); }

    initializeApp(){ this.platform.ready()。then(()=> { this.statusBar.styleDefault(); this.splashScreen.hide(); this.addAdMob() }); }

    addAdMob(){ //admob.setDevMode(true) admob.interstitial.load({ ID: { android:“ YOUR_ANDROID_ID”, ios:“测试”, }, })。then(()=> admob.interstitial.show()) } }