I've been working on integrating Google Analytics v4 into my application. I've followed this : https://developers.google.com/analytics/devguides/collection/android/v4/ however, my analytics dashboard isn't displaying any data.
Here is how I've set it up in my application file:
private static final String PROPERTY_ID = "UA-*******-*";
public enum TrackerName {
APP_TRACKER, // Tracker used only in this app.
GLOBAL_TRACKER, // Tracker used by all the apps from a company. eg: roll-up tracking.
ECOMMERCE_TRACKER, // Tracker used by all ecommerce transactions from a company.
}
public synchronized Tracker getTracker(TrackerName trackerId) {
if (!mTrackers.containsKey(trackerId)) {
GoogleAnalytics analytics = GoogleAnalytics.getInstance(this);
Tracker t = (trackerId == TrackerName.APP_TRACKER) ? analytics.newTracker(PROPERTY_ID)
:(trackerId == TrackerName.GLOBAL_TRACKER) ? analytics.newTracker(R.xml.global_tracker)
: analytics.newTracker(R.xml.ecommerce);
mTrackers.put(trackerId, t);
}
return mTrackers.get(trackerId);
}
Here is my global config file:
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="TypographyDashes">
<!-- the Local LogLevel for Analytics -->
<string name="ga_logLevel">verbose</string>
<!-- how often the dispatcher should fire -->
<integer name="ga_dispatchPeriod">30</integer>
<!-- Treat events as test events and don't send to google -->
<bool name="ga_dryRun">false</bool>
<integer name="ga_sessionTimeout">300</integer>
<!-- The apps Analytics Tracking Id -->
<string name="ga_trackingId">UA-*******-*</string>
<!-- The screen names that will appear in reports -->
<screenName name="com.purpledecks.bottomsup.fragments.frag1">frag1Screen</screenName>
<screenName name="com.purpledecks.bottomsup.fragments.frag2">frag2Screen</screenName>
<screenName name="com.purpledecks.bottomsup.fragments.frag3">frag3Screen</screenName>
</resources>
Then in my frag1 I set it up to send the hit as follows:
bottomsUp = (BottomsUpApplication) getActivity().getApplication();
Tracker t = bottomsUp.getTracker(BottomsUpApplication.TrackerName.APP_TRACKER);
t.setScreenName("frag 1");
t.send(new HitBuilders.AppViewBuilder().build());
In my log cat I have the following:
09-16 11:45:02.552 32411-32484/com.purpledecks.bottomsup V/GAV4﹕ Thread[GAThread,5,main]: connecting to Analytics service
09-16 11:45:02.572 32411-32411/com.purpledecks.bottomsup V/GAV4﹕ Thread[main,5,main]: service connected, binder: android.os.BinderProxy@43a2e1e0
09-16 11:45:02.572 32411-32411/com.purpledecks.bottomsup V/GAV4﹕ Thread[main,5,main]: bound to service
09-16 11:45:02.572 32411-32484/com.purpledecks.bottomsup V/GAV4﹕ Thread[GAThread,5,main]: connect: bindService returned true for Intent { act=com.google.android.gms.analytics.service.START cmp=com.google.android.gms/.analytics.service.AnalyticsService (has extras) }
09-16 11:45:02.572 32411-32411/com.purpledecks.bottomsup V/GAV4﹕ Thread[main,5,main]: Connected to service
09-16 11:45:02.572 32411-32484/com.purpledecks.bottomsup V/GAV4﹕ Thread[GAThread,5,main]: Loaded clientId
09-16 11:45:02.582 32411-32484/com.purpledecks.bottomsup I/GAV4﹕ Thread[GAThread,5,main]: No campaign data found.
09-16 11:45:02.582 32411-32484/com.purpledecks.bottomsup V/GAV4﹕ Thread[GAThread,5,main]: Initialized GA Thread
09-16 11:45:02.602 32411-32484/com.purpledecks.bottomsup V/GAV4﹕ Thread[GAThread,5,main]: putHit called
09-16 11:45:02.602 32411-32484/com.purpledecks.bottomsup V/GAV4﹕ Thread[GAThread,5,main]: Sending hit to service PATH: https: PARAMS: ul=en-ie, ht=***********, sr=1080x1920, aid=com.analytics.test, cid=*******************, av=0.0.1, v=1, adid=**************, t=appview, an=Cheers!!, ate=1, tid=UA-********-*, _u=.2nK-AL, cd=frag 1,
The same question has been asked here but there was no solution...any ideas? or is there a certain way I should set up the property with the project name?
So it tells me that it is sending the hit but nothing appears on the dashboard. If anyone could help me on this or see what I've done wrong I'd appreciate it.
You've turned on the User-ID feature in your view settings but haven't configured it. User-ID tracking needs an additional code implementation and if it's not done, your Google Analytics view will contain no data.
To see if Google Analytics is firing on your page, go to any page on your site in your Chrome Browser and right-click. Click on Inspect. Then go to the Network tab. Hit refresh on your browser and watch to see the different content and scripts loading on the page.
The built-in tools around page load and site load times and performance analysis are also not yet included, as well as some of the integrations with other tools, so DV360, SA360, Campaign Manager, AdSense, Google Ad Manager, Optimize, Google Search Console. The rest of the GMP suite is still being built out.
As requested I'm adding the answer provided by @DalmTo, which was provided as a comment.
If you have just set up your Google Analytics and application data isn't showing up on your dashboard, it normally takes 48 hrs to activate. So if you aren't seeing data allow this amount of time to pass.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With