【发布时间】:2018-10-05 17:54:12
【问题描述】:
我正在尝试为我的 iOS android 应用发送命中有效负载作为 Google Analytics Measurement Protocol 的 POST 的一部分。
这是我为会话控制发送的命中:
&dp=scenes%2Estudio%2EScene&geoid=TESTING&z=818790&sr=480x270&ul=en&sc=start&ds=simulator&dl=scenes%2Estudio%2EScene&dr=iOS&tid=UA%2Dxxxxxxx%2D1&ti=TESTING&cid=TESTING&aip=1&an=FE&cd=scenes%2Estudio%2EScene&aid=xxx%2Eyyyy%2Ezzz%2E&v=1&av=16%2E5%2E2
这是我为异常事件发送的命中:
&dp=scenes%2Emenu%2EScene&geoid=TESTING&z=217660&sr=480x270&ul=en&exf=1&ds=simulator&dl=scenes%2Emenu%2EScene&dr=iOS&aid=xxx%2Eyyy%2Ezzz%2E&ti=TESTING&cid=TESTING&tid=UA%2D117928712%2D1&exd=%2FUsers%2Fchomsky%2Fapps%2Ffunbox%2Fapps%2Fxxx%2Flib%2Fscamp%2Fdebug%2FmenuButtons%2FFE%2Elua%3A147%3A+822Error&aip=1&an=FE&cd=scenes%2Emenu%2EScene&v=1&av=16%2E5%2E2&t=exception
我已经用命中验证器 (https://ga-dev-tools.appspot.com/hit-builder/) 进行了检查,它说它们是有效的,(虽然我已经稍微改变了这些,所以它不包含我的个人信息,因此 x's,y's,还有z的。
当我将它发送到https://www.google-analytics.com/debug/collect 时,它会返回此消息:
Output multiple: return {
bytesEstimated=-1,
bytesTransferred=682,
isError=false,
name="networkRequest",
phase="ended",
requestId=userdata,
response="{\
\"hitParsingResult\": [ {\
\"valid\": true,\
\"parserMessage\": [ {\
\"messageType\": \"INFO\",\
\"description\": \"IP Address from this hit was anonymized to 114.35.138.0.\",\
\"messageCode\": \"VALUE_MODIFIED\"\
} ],\
\"hit\": \"/debug/collect?dp=scenes.studio.Scene\\u0026geoid=TESTING\\u0026z=818790\\u0026sr=480x270\\u0026ul=en\\u0026sc=start\\u0026ds=simulator\\u0026dl=scenes.studio.Scene\\u0026dr=iOS\\u0026tid=UA-xxxxxx-1\\u0026ti=TESTING\\u0026cid=TESTING\\u0026aip=1\\u0026an=FE\\u0026cd=scenes.studio.Scene\\u0026aid=xxx.yyy.zzzz.\\u0026v=1\\u0026av=16.5.2\"\
} ],\
\"parserMessage\": [ {\
\"messageType\": \"INFO\",\
\"description\": \"Found 1 hit in the request.\"\
} ]\
}\
",
responseHeaders={
["Access-Control-Allow-Origin"]="*",
["Alt-Svc"]="hq=\":443\"; ma=2592000; quic=51303433; quic=51303432; quic=51303431; quic=51303339; quic=51303335,quic=\":443\"; ma=2592000; v=\"43,42,41,39,35\"",
["Cache-Control"]="private",
["Content-Encoding"]="gzip",
["Content-Type"]="application/javascript; charset=utf-8",
Date="Wed, 25 Apr 2018 09:38:44 GMT",
Server="MPVS",
["Transfer-Encoding"]="Identity",
["X-Content-Type-Options"]="nosniff",
["X-Frame-Options"]="SAMEORIGIN",
["X-XSS-Protection"]="1; mode=block"
},
responseType="text",
status=200,
url="https://www.google-analytics.com/debug/collect"
}
在我看来,它返回 200 时没有任何问题。
但是,当我将同样的命中发送到 https://www.google-analytics.com/collect,以便我可以在 Analytics 网站的控制台中看到它时,我看不到请求出现。它说我的应用程序现在有一个用户(是我!)但我看不到我正在发送的任何异常或会话控制事件 - 它显示今天没有收到任何类型的事件。发生这种情况有什么原因吗?我是不是在我的热门歌曲中遗漏了什么,或者我不知道去哪里找?
【问题讨论】:
-
请记住,数据需要 24 - 48 小时才能显示在标准报告中。如果它出现在实时报告中,那么它就会受到打击,您只需要等待,看看标准报告中会出现什么。
-
太棒了!谢谢@DaImTo
-
如果这个问题在几天后没有出现,请再次 Ping 这个问题。
标签: google-analytics urlencode measurement-protocol