Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Ionic - Runtime Error this.fba.logEvent(...).then is not a function

I am using Ionic and Firebase. I have created firebase project, clicked on icon to "add fire to your android app" and followed the steps.

Foll. is code on my html page:

<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>

Below code is on the ts of this page:

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" })
}
}

Foll. code is in the provider:

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));
  }
}

I ran "ionic cordova run android" and launched the app on mobile device and everything seems to be OK. However, when I do "ionic serve", the page loads OK in the browser, but when I click the button, what could have caused it to give the foll. error?

Ionic - Runtime Error this.fba.logEvent(...).then is not a function

runtime error

like image 386
variable Avatar asked Jul 21 '26 08:07

variable


1 Answers

Now its more clear after seing the code.

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

@ionic-native functions only work on the real device or simulator. Otherwise, it will give an error.

like image 161
Whatatimetobealive Avatar answered Jul 24 '26 06:07

Whatatimetobealive



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!