evollu / react-native-firebase-analytics

React native bridge for firebase analytics
MIT License
206 stars 54 forks source link

undefined is not an object (evaluating 'FIRAnalytics.setEnabled) #46

Open uyu423 opened 7 years ago

uyu423 commented 7 years ago

image

using react-native-firbase-analytics 1.0.6 using react-native 0.32.0

import React, {
  Component,
  PropTypes,
} from 'react';
import {
  View, 
  StyleSheet,
  ScrollView,
  Alert,
  AlertIOS,
  InteractionManager,
} from 'react-native';
import Analytics from 'react-native-firebase-analytics';
import Dialog from 'react-native-dialog';

// ...

export default class CartPage extends Component {       
  constructor(props) {                                  
    super(props);                                       
    this.state = {                                      
      renderPlaceholderOnly: false,                     
    };                                                  
    props.dispatch(fetchCartInfo(props.serviceType));   
    props.dispatch(fetchMyCouponCount());               
  }                                                     

  componentWillMount() {                                
    console.log(Analytics.setEnabled);                  
    Analytics.setEnabled(false);                        
  }                                                     

I trying run this Component. occurring error undefined is not an object (evaluating 'FIRAnalytics.setEnabled)

but console is that.

02-04 19:52:28.531  2896  2959 I ReactNativeJS: [Function: setEnabled]
02-04 19:52:29.127  2896  2959 E ReactNativeJS: undefined is not an object (evaluating 'FIRAnalytics.setEnabled')

Naturally, I included google-service.json file as well. and already run rnpm link what the hell? I think NativeModules.RNFIRAnalytics is undefined. What should I check?

ngothanhtai commented 7 years ago

I think the rnpm link not correctly. If you are using the latest react native, I am not sure, around >= 0.39. You should add FIRAnalyticsPackage in MainApplication.java rather than MainActivity.java.

import com.evollu.react.fa.FIRAnalyticsPackage;
@Override
protected List<ReactPackage> getPackages() {
      return Arrays.<ReactPackage>asList(
          new FIRAnalyticsPackage(),
          new MainReactPackage()
      );
}
Mactub07 commented 7 years ago

have same problem on ios ? any comment?

uyu423 commented 7 years ago

@Mactub07 I've had problems with Android, and I have not been able to see if iOS is experiencing the same issue.

paranat9221 commented 6 years ago

@Mactub07 Can you fixed this in IOS ??

karuzo17 commented 6 years ago

i'm also having this issue on iOS.

Naveenkant93 commented 6 years ago

Same issue in Ios