首页 > 解决方案 > 谷歌分析测量协议命中不正确?

问题描述

我正在尝试将命中有效负载作为我的 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/)检查了两者,它说它们是有效的,(尽管我已经稍微改变了这些,所以它没有' t 包含我的个人信息,因此包含 x、y 和 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 网站的控制台中看到它,但没有看到请求出现。它说我的应用程序现在有一个用户(是我!)但我看不到我发送的任何异常或会话控制事件 - 它显示今天没有收到任何类型的事件。发生这种情况有什么原因吗?我是否错过了命中的某些内容,或者我不知道该往哪里看?

标签: google-analyticsurlencodemeasurement-protocol

解决方案


只需要等待 24-48 小时!可以了,好了。


推荐阅读