Background
In the recent months, Google has published a new Analytics alternative, called "Firebase Analytics" .
The problem
As the app already does have Google-Analytics, I find some obstacles that I can't see how to best handle.
The questions
Previously, "newTracker" function needed a property-id. Now I don't see it. Does it mean it doesn't need one?
Previously, "enableAdvertisingIdCollection " was available to collect ads info too. I can't find it in new APIs. Is it automatically collected?
"setDryRun" was available to disable sending the data to the servers, and now I don't see it. Does it mean it's automatically this way for debug versions of the app? Do all functions write to the logs?
Previously, I could track a "screen" :
public void setScreenName(String name) { mGoogleAnalyticsTracker.setScreenName(name); mGoogleAnalyticsTracker.send(new HitBuilders.ScreenViewBuilder().build()); }
Now I don't see it, but as I've read, I think it's automatic, so it sends data of the activity lifecycle anyway. Is it true?
Probably the most important thing: previously I could track using category, action, label and value:
public void trackEvent(final String category, final String action, final String label, final long value) { mGoogleAnalyticsTracker.send(new HitBuilders.EventBuilder() .setCategory(category).setAction(action) .setLabel(label).setValue(value).build()); }
and now I see a completely different way to track events ("custom events"), using bundles. Example:
Bundle bundle = new Bundle(); bundle.putString(FirebaseAnalytics.Param.ITEM_ID, id); bundle.putString(FirebaseAnalytics.Param.ITEM_NAME, name); bundle.putString(FirebaseAnalytics.Param.CONTENT_TYPE, "image"); mFirebaseAnalytics.logEvent(FirebaseAnalytics.Event.SELECT_CONTENT, bundle);
How does it work? How is it shown in the website of Firebase Analytics? I suppose I could have the first parameter of logEvent behave like the category parameter of the Google-Analytics, but what can/should I do for the rest? According to the docs, this should be ok:
public void trackEvent(final String category, final String action, final String label, final long value) { Bundle bundle = new Bundle(); bundle.putString("action", action); bundle.putString("label", label); bundle.putLong("value", value); mFirebaseAnalytics.logEvent(category, bundle); }
Which events are actually automatically being tracked (I ask this because some are said that I shouldn't use, here) ? Do they include purchases? app-invites? ads? Where do I see them in the console website ?
About logs, it says that the new SDK does it by :
You can enable verbose logging with a series of adb commands:
adb shell setprop log.tag.FA VERBOSE adb shell setprop log.tag.FA-SVC VERBOSE adb logcat -v time -s FA FA-SVC
What do those commands do? How can I disable it? I've noticed it even gets shown in release version of the app...
Is the new SDK supposed to replace Google-Analytics? Is it suggested to fully move to it? Will Google-Analytics have any updates?