我正在使用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(...)。然后不是函数
答案 0 :(得分:1)
现在,在获取代码后,它变得更加清晰。
import { FirebaseAnalytics } from '@ionic-native/firebase-analytics';
@ionic-native
功能仅在真实设备或模拟器上起作用。否则,将产生错误。