Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Delphi应用程序发布到google analytics_Delphi_Google Analytics - Fatal编程技术网

从Delphi应用程序发布到google analytics

从Delphi应用程序发布到google analytics,delphi,google-analytics,Delphi,Google Analytics,我的任务是将Delphi 2010桌面应用程序中的数据发送到google analytics,这样我们就可以跟踪程序中哪些部分的使用率更高(或者根本不用)。我正在使用Indy发布文章,这篇文章似乎产生了一个有效的回复,但我没有看到谷歌分析方面的任何东西。我对Google Analytics完全陌生,所以我发布的内容或查看方式可能有问题。我确实在analytics中创建了一个应用程序视图,但不知道设置是否正确 Parameters := TStringList.Create; Parameters

我的任务是将Delphi 2010桌面应用程序中的数据发送到google analytics,这样我们就可以跟踪程序中哪些部分的使用率更高(或者根本不用)。我正在使用Indy发布文章,这篇文章似乎产生了一个有效的回复,但我没有看到谷歌分析方面的任何东西。我对Google Analytics完全陌生,所以我发布的内容或查看方式可能有问题。我确实在analytics中创建了一个应用程序视图,但不知道设置是否正确

Parameters := TStringList.Create;
Parameters.Add('v=1'); //Version
Parameters.Add('&tid=UA-nnnnnnnn-n'); //Tracking ID
Parameters.Add('&cid=555');           //
Parameters.Add('&t=test2');           // Screenview hit type.
Parameters.Add('&an=AppName');        // App name
Parameters.Add('&av=' + sAppVersion);   // App version
Parameters.Add('&aid=12345');           // App Id
Parameters.Add('&aiid=InstallerID');    // App Installer Id
IdHTTP.Post('https://www.google-analytics.com/collect',Parameters);
Result:= IdHTTP.ResponseText;

我已经验证了跟踪ID(替换为上面的UA-NNNNNN-n)是正确的。想知道我提交的内容是否完整和/或我是否需要做些什么才能看到GA方面的成功。谢谢。

您可以使用来验证您的点击,并收到包含每个请求的任何可能错误的响应。

解决了这个问题。结果证明有三件事需要帮助:

  • 在手动构造https参数时,通常需要在每个新参数之前输入&。当使用Indy的TIdHTTP.Post在TStringList中传递参数时,&before参数不会生成任何返回的错误,但也不起作用。从参数中删除(&A)。添加可修复此问题
  • 为了确定哪些参数必须包含在一起,analytics hit builder提供了一种快速确定命中是否有效或是否缺少参数的方法。(某些参数仅在组合中需要。)
    ()
  • 如果不构建专门用于显示生成的命中类型的仪表板/widgit或报告,则传入命中(即使是来自命中生成器的有效格式)可能不会产生可见结果。因此,已配置为计算网页浏览量的现有网站似乎不会显示与已配置的现有浏览量不同的应用程序点击或事件或点击类型

  • 修复它们,一切都会正常。

    我切换到
    “…/debug/collect”
    ,但在ResponseText中只得到“HTTP/1.0 200 OK”(与添加/debug之前得到的相同)。如果我以“
    ”…/debug/collect/”
    (以/结尾)结束,我会得到错误:EIdHTTPProtocolException:HTTP/1.0 404 Not Found(在我到达响应文本之前会出错)。您可能已经意识到这一点,但GA在事件显示之前会有一些延迟,除非您正在查看实时视图。默认过滤排除了当前的所有内容,除非您保存过滤器以使其表现不同。如果您是GA新手,您可能希望在测试应用程序时,结果会显示在GA中,但这不是默认行为。我确实了解到了这一点。我两人都观看了实时视图,我回去寻找几天前的事件。其他人设置了GA,所以我不确定问题是否存在——但过滤器似乎是空白的。