Google Analytics demographics For Android App

独自空忆成欢 提交于 2019-12-04 09:44:35

问题


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());
    }

回答1:


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);



回答2:


I looked at google documentation thoroughly, and as well as most of the stackoverflow and Facebook links, I didn't found any help or code tweak that could enable demographics in android mobile apps for recent google sdk. But still i found custom demographics by sending events through tracker with details about people.

So ,I concluded that Google Analytics Demographics works perfectly with web apps but yet it did not support android apps.



来源:https://stackoverflow.com/questions/27901190/google-analytics-demographics-for-android-app

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!