-1

可以在 C# WinForms 环境中使用“Clicky Web Analytics”吗?

我唯一能发现的是网站的 HTML 代码片段。

它们也接受 HTTP 请求,但我相信它们只是用于轮询数据,而不是用于将新事件/统计信息推送到 Clicky。

我意识到它可能被称为“Clicky Web Analytics”是有原因的(即仅基于网站/网络应用程序的统计跟踪),但我现在真的可以使用 C# 解决方案。

4

2 回答 2

1

以下是如何跟踪从 C# 到 clicky 站点的自定义事件:

    private static void TrackStatWithClicky(string eventValue)
    {
        // Prepare HTTP request
        WebRequest request = WebRequest.Create
       (
           "http://in.getclicky.com/in.php?" +
           "site_id=" + ClickySiteID +  //click site id , found in preferences
           "&sitekey_admin=" + ClickySiteAdminKey + //clicky site admin key, found in preferences
           "&ip_address=" + GetLocalIPAddressString() + //ip address of the user - used for mapping action trails
           "&type=custom" +
           "&href=" + eventValue.Replace(" ", "_") + //string that contains whatever event you want to track/log
           "&title=APPNAME Action" +
           "&type=click"
       );

        request.Method = "GET";

        // Get response
        WebResponse response = request.GetResponse();
        response.Close();
    }

    public static string GetLocalIPAddressString()
    {
        if (!System.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable())
        {
            return "";
        }

        IPHostEntry host = Dns.GetHostEntry(Dns.GetHostName());

        return host.AddressList.FirstOrDefault(ip => ip.AddressFamily == AddressFamily.InterNetwork).ToString();
    }

这里的一些信息有助于弄清楚: https ://clicky.com/help/custom/manual#internal

于 2014-03-18T15:22:50.533 回答
0

他们似乎有一个用于手动数据记录的 API 。具体来说,他们提到了记录内部事件

从内部脚本记录数据

Clicky 允许您记录来自内部脚本的数据,例如 PHP、ASP、Perl 等。其他服务不提供此功能,因为它们不记录传入的“API”,它们只验证来自引用者的传入数据。Clicky是不同的。

似乎确实为您的后端网络服务器脚本也提供了用户数据,但我很确定您可以使用任何您喜欢的语言进行 Web API 调用,包括 WinForms 脚本。不是它的真正用途,但是嘿,为什么不呢?只需发出带有 URL 编码参数的 GET 请求:

如何与我们的跟踪服务器交谈

您要交谈的页面位于http://in.getclicky.com/in.php。这与我们的跟踪代码对话的脚本相同。您只需要发送正确的参数,我们就会记录下来。

因此,您需要将他们的示例PHP 脚本移植到 C# 中,这样就可以了。

于 2014-02-04T00:21:51.373 回答