I used Google Analytics Demographics on android app using Google play service library. i have updated my android code using enableAdvertisingIdCollection(). its working fine with screens and data. But its demographics info isn't working? Please suggest how do i handle demographics.
thanking you.
Code : Application code :
...
synchronized Tracker getTracker( TrackerName trackerId, String appKey)
{
Log.d("Application", "In Application class getTracker PID" + appKey);
if (!mTrackers.containsKey(trackerId))
{
GoogleAnalytics analytics = GoogleAnalytics.getInstance(this);
analytics.setDryRun(false);
analytics.getLogger().setLogLevel(Logger.LogLevel.INFO);
Tracker t = (trackerId == TrackerName.APP_TRACKER) ? analytics.newTracker(appKey) : analytics
.newTracker(R.xml.app_tracker);
if (t != null)
{
t.enableAdvertisingIdCollection(true);
}
mTrackers.put(trackerId, t);
}
return mTrackers.get(trackerId);
}
...
code on oncreate()
...
try
{
GoogleAnalytics.getInstance(getActivity()).reportActivityStart(getActivity());
Tracker t = ((AppApplication) getActivity().getApplication()).getTracker(TrackerName.APP_TRACKER, Appkey);
t.setScreenName("Home Screen");
// t.setSampleRate(sampleRate);
t.enableAdvertisingIdCollection(true);
t.send(new HitBuilders.AppViewBuilder().build());
}
catch (Exception ex)
{
CustomLogger.showLog("GAcode", ex.getMessage());
}
Just for helping others, google support is a lot unclear about this piece of code:
Enabling Advertising Features
// Get tracker.
Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker(
TrackerName.APP_TRACKER);
// Enable Advertising Features.
t.enableAdvertisingIdCollection(true);
The tracker there is the tracker initialized in your Application class, and get tracker is a function where you should create a List of trackers and get them by name. If you are using just one tracker, you can do:
public static Tracker tracker;
@Override
public void onCreate() {
super.onCreate();
startGoogleAnalytics();
}
public void startGoogleAnalytics() {
analytics = GoogleAnalytics.getInstance(this);
analytics.setLocalDispatchPeriod(1800);
tracker = analytics.newTracker(R.xml.global_tracker); // here you can add just your id value too
tracker.enableExceptionReporting(true);
tracker.enableAdvertisingIdCollection(true);
tracker.enableAutoActivityTracking(true);
}
public synchronized Tracker getTracker() {
if (tracker == null) {
startGoogleAnalytics();
}
return tracker;
}
Then on your activity you can do:
Tracker t = ((YouApplicationClassName)getApplication()).getTracker();
t.enableAdvertisingIdCollection(true);
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