Android GoogleAnalytics自定义维度和度量值未更新

Android GoogleAnalytics自定义维度和度量值未更新,android,google-analytics,google-analytics-firebase,Android,Google Analytics,Google Analytics Firebase,我创建了一个自定义维度和度量,并试图用Android应用程序中的数据填充它。我使用自定义维度(在用户范围内声明的用户id)和自定义度量(在命中范围级别的错误尝试)创建了一个表的新仪表板,但仪表板表示没有要显示的值。也许我发送数据的方式不对 我就是这样做的: public static enum CustomDimensions { USER_ID(1); private int value; CustomDimensions(int numVal) {

我创建了一个自定义维度和度量,并试图用Android应用程序中的数据填充它。我使用自定义维度(在用户范围内声明的用户id)和自定义度量(在命中范围级别的错误尝试)创建了一个表的新仪表板,但仪表板表示没有要显示的值。也许我发送数据的方式不对

我就是这样做的:

public static enum CustomDimensions
{
    USER_ID(1);

    private int value;

    CustomDimensions(int numVal)
    {
        this.value = numVal;
    }

    public int getValue()
    {
        return value;
    }
};

public static enum CustomMetrices
{
    BAD_ATTEMPTS(1);

    private int value;

    CustomMetrices(int numVal)
    {
        this.value = numVal;
    }

    public int getValue()
    {
        return value;
    }
};

public static void SendCustomEvent(Activity act, CustomDimensions cd, String dimensionValue,
        CustomMetrices cm, int metricValue)
{
    Tracker tracker = getGoogleAnalyticsTracker(act);
    tracker.send(new HitBuilders.EventBuilder().setCustomDimension(cd.getValue(), dimensionValue).build());
    tracker.send(new HitBuilders.EventBuilder().setCategory("customCategory").setAction("customAction")
            .setLabel("customLabel").setCustomMetric(cm.getValue(), metricValue).build());
}
电话本身:

SendCustomEvent(this, CustomDimensions.USER_ID,
                        "1", CustomMetrices.BAD_ATTEMPTS, 1);

在报告的行为部分,我确实看到了带有customCategory等的事件,但没有看到维度或度量的任何值

常规事件似乎比自定义维度和度量衡更新得更快。我可以看到创建了一个“customCategory”事件,但自定义维度值中没有显示任何内容。又过了24小时(总共48小时),我得到了数据,现在可以看到了。

看起来您正在发送两个独立的事件(两次调用tracker.send)。一个只有自定义尺寸,一个没有自定义尺寸。第一个事件无效,因为它缺少必需的事件类别和操作,因此分析将忽略它。第二个是有效的事件,但缺少自定义维度。您应该只发送一个事件:

tracker.send(new HitBuilders.EventBuilder()
    .setCategory("customCategory")
    .setAction("customAction")
    .setLabel("customLabel")
    .setCustomMetric(cm.getValue(), metricValue)
    .setCustomDimension(cd.getValue(), dimensionValue)
    .build());

插入数据后,您等待了多长时间?在标准报告中查看数据需要24-48小时。但是,如果我看到的事件具有自定义类别、自定义操作和自定义标签,就像我在代码中发送的那样,那么这不意味着已经过了足够的时间吗?不一定是随机的,什么信息在何时显示。注意:请记住,跟踪特定于用户的信息用户id可能是个坏主意。据我所知,如果我跟踪的东西可以识别个人的名字或姓氏,这才违反服务条款,不是吗?甚至还有关于如何在跟踪器中存储用户id的指南。必须有一种方法,我可以跟踪事件/用户。是的,但是你不能从系统中获取你跟踪的用户id,它只用于处理。任何可用于跟踪用户的信息都是违反服务条款的。我必须同时发送自定义度量和维度吗?如果我只想发送一个度量,这样我就可以将它与GA的一些预定义维度一起使用(例如,我猜日期会自动更新?)不,您不需要同时发送维度和度量,但是发送(维度或度量)都需要有效的命中才能发送。如果你的命中无效(比如事件缺少动作),命中被忽略,你的维度或度量被忽略。这真的很烦人。我只想更新一个指标的值,他们实际上让我发送一个类别、动作和标签,而我根本不关心它们?