Ошибки с ionic4 адмоб Плагин - PullRequest
0 голосов
/ 04 мая 2019

Домашняя страница ts код

    import { PostsService } from "./../posts.service";
    import { Component, OnInit } from "@angular/core";
    import { Observable } from "rxjs";
    import { Router } from "@angular/router";
    import { ActivatedRoute, ParamMap } from "@angular/router";
    import { switchMap } from "rxjs/operators";
    import { AdMobFree, AdMobFreeBannerConfig } from '@ionic-native/admob-free';

    @Component({
      selector: "app-home",
      templateUrl: "home.page.html",
      styleUrls: ["home.page.scss"]
    })
    export class HomePage implements OnInit {
      constructor(
        private postSrvc: PostsService,
        private router: Router,
        private route: ActivatedRoute,
        private admobFree: AdMobFree
      ) {
        this.showBannerAd();
      }

      posts$: Observable<any>;
      loadPost(post: any) {
        this.router.navigate(["/posts", post.id]);
      }
      ngOnInit() {
        this.posts$ = this.route.paramMap.pipe(
          switchMap(
            (params: ParamMap) =>
              params.get("category")
                ? this.postSrvc.fetchPostsByCategory(params.get("category"))
                : this.postSrvc.fetchPosts()
          )
        );
      }


      async showBannerAd() {
        try {
          const bannerConfig: AdMobFreeBannerConfig = {
            id: 'unit id',
            isTesting: true,
            autoShow: true
          }

          this.adMobFree.banner.config(bannerConfig);

          const result = await this.adMobFree.banner.prepare();
          console.log(result);
        }
        catch (e) {
          console.error(e);
        }
      }

    }

модуль приложения ts code

    import { HttpClientModule } from "@angular/common/http";
    import { NgModule } from "@angular/core";
    import { BrowserModule } from "@angular/platform-browser";
    import { RouteReuseStrategy } from "@angular/router";
    import { SplashScreen } from "@ionic-native/splash-screen/ngx";
    import { StatusBar } from "@ionic-native/status-bar/ngx";
    import { IonicModule, IonicRouteStrategy } from "@ionic/angular";
    import { AppRoutingModule } from "./app-routing.module";
    import { AppComponent } from "./app.component";

    import { AdMobFree } from '@ionic-native/admob-free';

    @NgModule({
      declarations: [AppComponent],
      entryComponents: [],
      imports: [
        BrowserModule,
        IonicModule.forRoot(),
        AppRoutingModule,
        HttpClientModule
      ],
      providers: [
        StatusBar,
        SplashScreen,
        AdMobFree,
        { provide: RouteReuseStrategy, useClass: IonicRouteStrategy }
      ],
      bootstrap: [AppComponent]
    })
    export class AppModule {}

все ОШИБКИ

[ng] ОШИБКА в src / app / app.module.ts (13,11): ошибка TS2345: Аргумент типа '{объявления: (typeof AppComponent) []; entryComponents: undefined []; import: (ModuleWithProvid ... 'нельзя назначить параметру типа' NgModule '.

[ng] Типы «поставщиков» несовместимы.

[ng] Type '(typeof SplashScreen | AdMobFreeOriginal | {предоставить: typeof RouteReuseStrategy; useClass: typeof ...' нельзя назначить типу 'Provider []'.

[ng] Тип 'Тип SplashScreen | AdMobFreeOriginal | {предоставить: typeof RouteReuseStrategy; useClass: typeof ... 'нельзя назначить типу' Provider '.

[ng] Тип 'AdMobFreeOriginal' нельзя назначить типу 'Provider'.

[ng] Тип 'AdMobFreeOriginal' нельзя назначить типу 'ClassProvider'.

[ng] Свойство 'обеспечить' отсутствует в типе 'AdMobFreeOriginal'.

[ng] src / app / home / home.page.ts (19,24): ошибка TS2304: не удается найти имя 'AdMobFree'.

[ng] src / app / home / home.page.ts (48,12): ошибка TS2551: свойство 'adMobFree' не существует в типе 'HomePage'. Вы имели в виду admobFree?

[ng] src / app / home / home.page.ts (50,33): ошибка TS2551: свойство 'adMobFree' не существует для типа 'HomePage'. Вы имели в виду admobFree?

1 Ответ

0 голосов
/ 04 мая 2019

ПОПРОБУЙ, изменив :

import { AdMobFree} from '@ionic-native/admob-free';

на:

import { AdMobFree } from '@ionic-native/admob-free/ngx';
...