如何使用google analytics api存储用户ID?

时间:2018-01-18 10:13:20

标签: android google-analytics

我想在我的Android应用中使用谷歌分析来了解哪些用户正在使用我的应用以及他们使用该应用的频率。

为此,我实施了谷歌sdk。但现在,我无法正确查看哪个用户正在使用该应用以及频率。

报告显示如下:

enter image description here

enter image description here

但是,虽然屏幕已开启,但它不显示活动用户。

代码:

      // Make sure global_tracker.xml is configured
        if (!checkConfiguration()) {
            View contentView = findViewById(android.R.id.content);
            Snackbar.make(contentView, "bad config", Snackbar.LENGTH_INDEFINITE).show();
        }

        // [START shared_tracker]
        // Obtain the shared Tracker instance.
        AnalyticsApplication application = (AnalyticsApplication) getApplication();
        mTracker = application.getDefaultTracker();
        // [END shared_tracker]


        sendScreenImageName();

private void sendScreenImageName() {

        // [START screen_view_hit]

        //  mTracker.setScreenName("Image~" + getLocalClassName());
        mTracker.setScreenName("Image~" + preferences.getString("acno",""));
        mTracker.setAppVersion(getString(R.string.appVersion));
        mTracker.set("User",preferences.getString("acno",""));

        // mTracker.setClientId(preferences.getString("acno",""));
        mTracker.send(new HitBuilders.ScreenViewBuilder().build());

        mTracker.setAppInstallerId(preferences.getString("acno",""));

        // [END screen_view_hit]
    }

    /**
     * Check to make sure global_tracker.xml was configured correctly (this function only needed
     * for sample apps).
     */
    private boolean checkConfiguration() {
        XmlResourceParser parser = getResources().getXml(R.xml.global_tracker);

        boolean foundTag = false;
        try {
            while (parser.getEventType() != XmlResourceParser.END_DOCUMENT) {
                if (parser.getEventType() == XmlResourceParser.START_TAG) {
                    String tagName = parser.getName();
                    String nameAttr = parser.getAttributeValue(null, "name");

                    foundTag = "string".equals(tagName) && "ga_trackingId".equals(nameAttr);
                }

                if (parser.getEventType() == XmlResourceParser.TEXT) {
                    if (foundTag && parser.getText().contains("UA-112531272-1")) {
                        return false;
                    }
                }

                parser.next();
            }
        } catch (Exception e) {
            Log.w("config", "checkConfiguration", e);
            return false;
        }

        return true;
    }

global_tracker.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="UA-112531272-1" translatable="false">""</string>
</resources>

我想发送一个带有会话的用户ID,并在分析网站上检查ID明智的使用情况。

此外跟踪是不正确的,有时它会跟踪,有时候代码没有任何问题?

怎么做?

有人可以帮忙吗?谢谢。

1 个答案:

答案 0 :(得分:0)

由于Google的许可协议不允许这样做,您可以解决它encrypting a PII and saving it on a custom dimension(这是允许的,但您至少需要一个SHA-256)。

也许这并没有多大帮助,但我强烈建议您使用Firebase + GTM + GA。