跟踪软件安装

时间:2020-03-06 14:20:06  来源:igfitidea点击:

尽管我缺乏编码知识,但我还是设法在VB net中编写了一个小小的小应用程序,很多人现在正在使用。由于我是免费提供的,因此我无法知道它的真正流行程度,并且一直在考虑可以使它通过某种形式的在线统计计数器进行计数,因此我可以确定是否应该将其移植到其他语言。关于如何在不实际打开窗口或者不要求接收任何数据的情况下通过vb ping URL的任何想法?当我用大量谷歌搜索这个词时,我会得到带有50多行代码的示例,这些代码我认为应该只用一行左右,就像打开IE窗口一样。

旁注:当然,这会完全通知所有用户。

解决方案

跟踪下载(假设人们通过HTTP进行下载)可能比安装更容易。否则,添加"立即注册?"特征。

只是一个旁注:出于隐私方面的考虑,我们应该通知用户我们正在这样做(或者根本不这样做)。即使我们没有收集任何个人数据,也可以视为隐私问题。例如,当程序收集使用情况信息时,它们在安装过程中几乎总是有一个框,询问用户是否要参加"匿名使用情况调查"或者类似内容。如果我们只是跟踪下载该怎么办?

。网?创建一个ASMX Web服务并在网站上进行设置。然后将服务引用添加到应用程序。

编辑/说明:然后,Web服务可以将传递的数据存储到数据库中,而不必依赖Web日志:安装ID,安装日期,运行次数等。

我们可以在客户端应用中使用简单的内容,例如

Sub PingServer(Server As String, Port As Integer)
  Dim Temp As New System.Net.Sockets();
  Temp.Connect(Server, Port)
  Temp.Close()
End Sub

让网络服务器侦听特定端口并计算连接数。

另外,我们确实应该在用户不知情的情况下执行此操作,因此正如其他人所说,最好统计下载次数或者实现注册功能。

vbdotnetheaven.com上的家伙有一个使用WebClient,WebRequest和HttpWebRequest类的简单示例。这是他们的WebClient类示例:

Imports System
Imports System.IO
Imports System.Net
Module Module1 
   Sub Main()
      ' Address of URL
      Dim URL As String = http://www.c-sharpcorner.com/default.asp
      ' Get HTML data
      Dim client As WebClient = New WebClient()
      Dim data As Stream = client.OpenRead(URL)
      Dim reader As StreamReader = New StreamReader(data)
      Dim str As String = ""
      str = reader.ReadLine()
      Do While str.Length > 0
         Console.WriteLine(str)
         str = reader.ReadLine()
      Loop
   End Sub
End Module

我假设我们正在通过网站提供此功能。因此,我们可以要求人们提供电子邮件地址,以获取安装程序的下载链接。然后,我们可以跟踪每个月/每周/等等有多少人添加到电子邮件列表中。这也意味着我们可以在发布新版本时通过电子邮件将其全部发送给他们,以便他们可以了解最新和最新的信息。

注意:请务必确保在我们发送给他们的每封电子邮件的末尾都有一个退订链接。