Google Analytics(GA)在Android don';不要在仪表板中显示结果

Google Analytics(GA)在Android don';不要在仪表板中显示结果,android,google-analytics,Android,Google Analytics,我运行了以下代码,但在中没有看到任何内容 为什么一个简单的参数发送不起作用 编辑:我使用适用于Android的GAv3 SDK。根据,您只能使用受支持的键,这些键指定为字段的常量类: Tracker tracker = GoogleAnalytics.getInstance(this).getTracker("UA-XXXX-Y"); HashMap<String, String> hitParameters = new HashMap<String, String>(

我运行了以下代码,但在中没有看到任何内容

为什么一个简单的参数发送不起作用

编辑:我使用适用于Android的GAv3 SDK。

根据,您只能使用受支持的键,这些键指定为
字段的常量
类:

Tracker tracker = GoogleAnalytics.getInstance(this).getTracker("UA-XXXX-Y");

HashMap<String, String> hitParameters = new HashMap<String, String>();
hitParameters.put(Fields.HIT_TYPE, com.google.analytics.tracking.android.HitTypes.APP_VIEW);
hitParameters.put(Fields.SCREEN_NAME, "Home Screen");

tracker.send(hitParameters);
Tracker Tracker=GoogleAnalytics.getInstance(this.getTracker)(“UA-XXXX-Y”); HashMap hitParameters=新的HashMap(); hitParameters.put(Fields.HIT_TYPE,com.google.analytics.tracking.android.HitTypes.APP_VIEW); hitParameters.put(Fields.SCREEN_NAME,“主屏幕”); tracker.send(hitParameters); 但正如他们所说:

MapBuilder
类简化了构建命中的过程,并且 建议用于大多数用例

根据,您只能使用受支持的键,这些键被指定为
字段
类的常量:

Tracker tracker = GoogleAnalytics.getInstance(this).getTracker("UA-XXXX-Y");

HashMap<String, String> hitParameters = new HashMap<String, String>();
hitParameters.put(Fields.HIT_TYPE, com.google.analytics.tracking.android.HitTypes.APP_VIEW);
hitParameters.put(Fields.SCREEN_NAME, "Home Screen");

tracker.send(hitParameters);
Tracker Tracker=GoogleAnalytics.getInstance(this.getTracker)(“UA-XXXX-Y”); HashMap hitParameters=新的HashMap(); hitParameters.put(Fields.HIT_TYPE,com.google.analytics.tracking.android.HitTypes.APP_VIEW); hitParameters.put(Fields.SCREEN_NAME,“主屏幕”); tracker.send(hitParameters); 但正如他们所说:

MapBuilder
类简化了构建命中的过程,并且 建议用于大多数用例


我遗漏的是
字段。HIT_TYPE
键和基于HIT TYPE的强制参数。 例如:

Map Map=newhashmap();
map.put(Fields.HIT_TYPE,com.google.analytics.tracking.android.HitTypes.EVENT);
map.put(Fields.EVENT_类别,“UX”);
map.put(Fields.EVENT_ACTION,“screen_view”);
Application.getGaTracker().send(map);
有关某些命中类型参数,请参见更多和。有些参数是必需的,有些是可选的

这让我想起了javascript-API,在这里,一切都可以更改,而API中没有强制执行任何内容。而且,命中类型是非常隐式的

总之,这个基本的
Tracker.send(…)
API是如此的含蓄和非描述性——值得定义垃圾

我理解谷歌是否为了向后或跨语言兼容而保留这个API。 我不明白的是,为什么谷歌选择不创建一个像样的描述性API,而反对这种通用的、隐式的、非描述性的、蹩脚的API

即使是新的
MapBuilder.createEvent(…)
API也没有解释什么是强制性和可选的,也没有在代码中强制执行它

另一个问题是,如果某些东西不起作用,GAv3AndroidSdk不会给出任何反馈。直到现在,我才看到logcat中有一个关于缺少参数的警告,只有神灵才会理解它的含义:
缺少命中类型(&t)参数
。为什么这是一个警告而不是一个错误???如果请求发送事件但最终未发送,则为错误!!!还有,为什么不说请求没有执行???这种logcat反馈过于含蓄和难以捉摸


Rant已完成。

我遗漏的是
字段。HIT_TYPE
键和基于HIT类型的强制参数。
        com.google.analytics.tracking.android.Tracker tracker = GoogleAnalytics.getInstance(YOUR_Activity.this).getTracker("YOUR_ID);
        Map<String, String> map = new HashMap<String, String>();
        map.put(Fields.HIT_TYPE, com.google.analytics.tracking.android.HitTypes.EVENT);
        map.put(Fields.EVENT_CATEGORY, "Home page");
        map.put(Fields.EVENT_ACTION, "Trophy");
        tracker.send(map);
例如:

Map Map=newhashmap();
map.put(Fields.HIT_TYPE,com.google.analytics.tracking.android.HitTypes.EVENT);
map.put(Fields.EVENT_类别,“UX”);
map.put(Fields.EVENT_ACTION,“screen_view”);
Application.getGaTracker().send(map);
有关某些命中类型参数,请参见更多和。有些参数是必需的,有些是可选的

这让我想起了javascript-API,在这里,一切都可以更改,而API中没有强制执行任何内容。而且,命中类型是非常隐式的

总之,这个基本的
Tracker.send(…)
API是如此的含蓄和非描述性——值得定义垃圾

我理解谷歌是否为了向后或跨语言兼容而保留这个API。 我不明白的是,为什么谷歌选择不创建一个像样的描述性API,而反对这种通用的、隐式的、非描述性的、蹩脚的API

即使是新的
MapBuilder.createEvent(…)
API也没有解释什么是强制性和可选的,也没有在代码中强制执行它

另一个问题是,如果某些东西不起作用,GAv3AndroidSdk不会给出任何反馈。直到现在,我才看到logcat中有一个关于缺少参数的警告,只有神灵才会理解它的含义:
缺少命中类型(&t)参数
。为什么这是一个警告而不是一个错误???如果请求发送事件但最终未发送,则为错误!!!还有,为什么不说请求没有执行???这种logcat反馈过于含蓄和难以捉摸

Rant已完成。

com.google.analytics.tracking.android.Tracker Tracker=GoogleAnalytics.getInstance(您的\u活动.this).getTracker(“您的\u ID”);
        com.google.analytics.tracking.android.Tracker tracker = GoogleAnalytics.getInstance(YOUR_Activity.this).getTracker("YOUR_ID);
        Map<String, String> map = new HashMap<String, String>();
        map.put(Fields.HIT_TYPE, com.google.analytics.tracking.android.HitTypes.EVENT);
        map.put(Fields.EVENT_CATEGORY, "Home page");
        map.put(Fields.EVENT_ACTION, "Trophy");
        tracker.send(map);
Map Map=newhashmap(); map.put(Fields.HIT_TYPE,com.google.analytics.tracking.android.HitTypes.EVENT); map.put(Fields.EVENT_类别,“主页”); 地图放置(Fields.EVENT_ACTION,“奖杯”); 发送(地图);
com.google.analytics.tracking.android.Tracker Tracker=GoogleAnalytics.getInstance(您的\u活动.this).getTracker(“您的\u ID”);
Map Map=newhashmap();
map.put(Fields.HIT_TYPE,com.google.analytics.tracking.android.HitTypes.EVENT);
map.put(Fields.EVENT_类别,“主页”);
地图放置(Fields.EVENT_ACTION,“奖杯”);
发送(地图);

发送使用
新建HashMap创建的映射时,这意味着什么?它不是必须使用
MapBuilder.createAppView()
?@gnobal-从Tracker javadocs:
public void send(java.util.Map params)
创建吗。API声明我可以使用我想要的任何映射。我在web上找不到javadoc-它是随SDK jar提供的。当您发送使用
新建HashMap
创建的映射时,这意味着什么?不一定是cre吗
        com.google.analytics.tracking.android.Tracker tracker = GoogleAnalytics.getInstance(YOUR_Activity.this).getTracker("YOUR_ID);
        Map<String, String> map = new HashMap<String, String>();
        map.put(Fields.HIT_TYPE, com.google.analytics.tracking.android.HitTypes.EVENT);
        map.put(Fields.EVENT_CATEGORY, "Home page");
        map.put(Fields.EVENT_ACTION, "Trophy");
        tracker.send(map);