离子-运行时错误this.fba.logEvent(...)。则不是函数

时间:2019-01-23 07:00:55

标签: ionic-framework firebase-analytics

我正在使用Ionic和Firebase。我已经创建了Firebase项目,单击图标以“向您的android应用添加火力”,然后按照步骤操作。

伙计。是我的html页面上的代码:

<ion-header>
  <ion-navbar>
    <ion-title>
      Ionic Blank
    </ion-title>
  </ion-navbar>
</ion-header>

<ion-content padding>
  Firebase Analytics
  <p>
    Click the button to log a custom event
  </p>
  <button ion-button full (click)="logClick()">Log event</button>
</ion-content>

以下代码在此页面上:

import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';
import { EventLoggerProvider } from '../../providers/event-logger/event-logger';

@Component({
  selector: 'page-home',
  templateUrl: 'home.html'
})
export class HomePage {

  constructor(public navCtrl: NavController,
    public logger: EventLoggerProvider) {
  }

  logClick() {
    this.logger.logButton('homeButton',{ pram: "paramValue" })
}
}

伙计。代码在提供程序中:

import { HttpClient } from '@angular/common/http';
import { Injectable } from '@angular/core';
import { FirebaseAnalytics } from '@ionic-native/firebase-analytics';

@Injectable()
export class EventLoggerProvider {

  constructor(public fba: FirebaseAnalytics) {
    console.log('Hello EventLoggerProvider Provider');
  }

  logButton(name:string,value:any){
    this.fba.logEvent(name, { pram:value })
    .then((res: any) => {console.log(res);})
    .catch((error: any) => console.error(error));
  }
}

我运行了“ ionic cordova run android”,并在移动设备上启动了该应用程序,一切似乎都还可以。但是,当我执行“离子服务”时,页面会在浏览器中加载确定,但是当我单击按钮时,是什么原因导致它发出提示。错误?

  

离子-运行时错误this.fba.logEvent(...)。然后不是函数

runtime error

1 个答案:

答案 0 :(得分:1)

现在,在获取代码后,它变得更加清晰。

import { FirebaseAnalytics } from '@ionic-native/firebase-analytics';

@ionic-native功能仅在真实设备或模拟器上起作用。否则,将产生错误。