Comments (18)
Which API's of the module do you use? Which module version? Which SDK version? tiapp.xml config?
from titanium-firebase-analytics.
Good point. SDK 7.0.1 FBcore 2.0.0, FBAnalytics 2.0.1,
I use only the following :
var FirebaseCore = require('firebase.core');
var FirebaseAnalytics = require('firebase.analytics');
FirebaseCore.configure();
FirebaseAnalytics.enabled = true;
FirebaseAnalytics.userID = vendorID;
FirebaseAnalytics.log(eventName, data);
FirebaseAnalytics.setScreenNameAndScreenClass({
screenName: screenName,
screenClass: screenName
});
`<service android:enabled="true" android:exported="false" android:name="com.google.android.gms.measurement.AppMeasurementService"/>
<service android:enabled="true" android:exported="false"
android:name="com.google.android.gms.measurement.AppMeasurementJobService" android:permission="android.permission.BIND_JOB_SERVICE"/>
<service android:exported="false" android:name="com.fluidmarket.fluid.gcm.RegistrationIntentService"/>
<receiver android:enabled="true" android:name="com.google.android.gms.measurement.AppMeasurementReceiver">
<intent-filter>
<action android:name="com.google.android.gms.measurement.UPLOAD"/>
</intent-filter>
</receiver>
<service android:exported="false" android:name="com.fluidmarket.fluid.gcm.GcmIntentService">
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE"/>
</intent-filter>
</service>
<service android:exported="false" android:name="com.fluidmarket.fluid.gcm.GcmIntentService">
<intent-filter>
<action android:name="com.google.android.c2dm.intent.SEND"/>
</intent-filter>
</service>
<service android:exported="false" android:name="com.fluidmarket.fluid.gcm.GcmIDListenerService">
<intent-filter>
<action android:name="com.google.android.gms.iid.InstanceID"/>
</intent-filter>
</service>`
from titanium-firebase-analytics.
Mhh, I have no idea. It seems related to the log
method, but not sure. Do you use main thread? And how does data
look like? It may have a circular structure or non-serializable data?
from titanium-firebase-analytics.
Yes. Question. Is the second parameter on the log call a Javascript Object? Also if the first or second parameter is null or one of the attributes of the second is null, could that potentially cause it?
from titanium-firebase-analytics.
Yep, if the first one is null it will crash for sure. For the second one, it has to be an Object, e.g. { ... }
with valid Firebase Analytics log keys (important!). In native apps, the log keys are mapped through constants, for Titanium, I wanted to keep it flexible but still based on their requirements. The raw values are listed below each constant, e.g. ITEM_NAME
equals item_name
.
from titanium-firebase-analytics.
Yep, it's gotta be one of those two then
from titanium-firebase-analytics.
Ok but the second one is optional correct? It says on the doc optional arguments. Does it mean I have to at least send in an empty object? Or can I call the log function with just the first param?
from titanium-firebase-analytics.
I think the second one can be null, but I have not tested that.
from titanium-firebase-analytics.
Just tested it. Need to send at least an empty object or it will crash.
from titanium-firebase-analytics.
Ok, I‘ll change the API to allow an empty parameter as well. Can this one be closed?
from titanium-firebase-analytics.
Up to you. Only way for me to find out for sure is release and see if I am still getting the errors. My suspicion is that the error came from invalid attributes in the object as the second parameters. Probably releasing today. So will start having data in a couple of days. Thanks
from titanium-firebase-analytics.
Will keep open for now. The code change will also have to wait until more spare time available.
from titanium-firebase-analytics.
Still getting this issue in the last version even with the adjustments made. I only fire log events if there is a eventName and i use an empty object as second param. Here is one of the error reported in the crashlogs.
backtrace:
#00 pc 000000000000414c /data/app/com.fluidmarket.fluid-1/lib/arm/libfirebase.analytics.so (_ZN8titanium5Proxy7inheritIN8firebase9analytics31TitaniumFirebaseAnalyticsModuleEEEvRKN2v820FunctionCallbackInfoINS5_5ValueEEE+139)
#1 pc 00000000000045ff /data/app/com.fluidmarket.fluid-1/lib/arm/libfirebase.analytics.so (_ZN8firebase9analytics31TitaniumFirebaseAnalyticsModule3logERKN2v820FunctionCallbackInfoINS2_5ValueEEE+138)
#2 pc 0000000000598f18 /data/app/com.fluidmarket.fluid-1/lib/arm/libkroll-v8.so (_ZN2v88internal25FunctionCallbackArguments4CallEPFvRKNS_20FunctionCallbackInfoINS_5ValueEEEE+188)
#3 pc 00000000005ebe78 /data/app/com.fluidmarket.fluid-1/lib/arm/libkroll-v8.so
#4 pc 00000000005ec31c /data/app/com.fluidmarket.fluid-1/lib/arm/libkroll-v8.so
#5 pc 00000000005ec5a8 /data/app/com.fluidmarket.fluid-1/lib/arm/libkroll-v8.so (_ZN2v88internal21Builtin_HandleApiCallEiPPNS0_6ObjectEPNS0_7IsolateE+44)
#6 pc 0000000000000098
from titanium-firebase-analytics.
To confirm: The key of the event (1st parameter) is a valid Firebase event as well? E.g. first_open
. Also note the general structure. It my be invalid to pass an empty dictionary, so I will update the API to allow both.
from titanium-firebase-analytics.
@amigoni Status here?
from titanium-firebase-analytics.
Still getting the error, seems to be less frequent so I am going through the event names to verify that there is no conflicts.
from titanium-firebase-analytics.
@amigoni I'd like to fix or close this issue, can you give an update with latest versions of the module (v2.1.1)?
from titanium-firebase-analytics.
Closing due to inactivity.
from titanium-firebase-analytics.
Related Issues (20)
- Firebase Module not receiving our uncaughtException HOT 1
- Failed resolution of: Lcom/google/android/gms/measurement/internal/zzbw HOT 12
- Is it a fabric crash?
- Bug on param "value" of event "ecommerce_purchase" in android HOT 1
- iOS build failed with no helpful error messages HOT 6
- Uncaught translation error: java.lang.IllegalArgumentException: already added: HOT 1
- Several "not set" values in Firebase Analytics Events HOT 2
- Phones without Google Play Services HOT 1
- lib folder with .aar files missing in Android 3.0.0 release HOT 1
- Error: Failed resolution of: Lcom/google/firebase/analytics/FirebaseAnalytics; Appc SDK 9 HOT 6
- package com.google.firebase.analytics does not exist
- Firebase core and analytics module is not working in
- Firebase core and analytics module is not working in android build HOT 1
- ERROR in setScreenNameAndScreenClass - FA: Name must consist of letters, digits or _ HOT 1
- How can we obtain the appInstanceID on android? HOT 6
- iOS Build Errors - Could not find or use auto-linked framework 'GoogleAppMeasurement' HOT 2
- Android - update guide: duplicated source HOT 1
- Build error with iOS 8.0.0 HOT 1
- Set up consent mode for apps HOT 3
- iOS Analytics alert in Firebase HOT 8
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from titanium-firebase-analytics.