.net 计算客户端安装的数量

.net 计算客户端安装的数量,.net,shareware,.net,Shareware,我正在开发共享软件,我很想知道我的产品在用户机器上安装了多少次。我不是在寻找安全性或许可证问题,但我只是对转换率(安装与注册)感兴趣。 我考虑了一个简单的servlet,它将使用UID从我的客户机调用,并计算不同的UID调用。 有人知道更优雅的解决方案或随时可用的解决方案吗?我的客户端软件是用.NET编写的。 顺致敬意, 塞巴斯蒂安有点老问题,但我一年前也问过同样的问题。 我也是一名共享软件开发者,和你一样,我想知道免费安装和付费用户之间的转换率。 我的软件在MacOS和Windows下工作,所

我正在开发共享软件,我很想知道我的产品在用户机器上安装了多少次。我不是在寻找安全性或许可证问题,但我只是对转换率(安装与注册)感兴趣。 我考虑了一个简单的servlet,它将使用UID从我的客户机调用,并计算不同的UID调用。 有人知道更优雅的解决方案或随时可用的解决方案吗?我的客户端软件是用.NET编写的。 顺致敬意,
塞巴斯蒂安

有点老问题,但我一年前也问过同样的问题。 我也是一名共享软件开发者,和你一样,我想知道免费安装和付费用户之间的转换率。 我的软件在MacOS和Windows下工作,所以我想要一个跨平台的解决方案

我最终制定了自己的解决方案。对于Windows,它是一个DLL,您可以从应用程序调用它并将使用情况数据发送到Google Analytics(作为共享软件开发人员,您可能已经拥有Google Analytics帐户)。 我选择Google Analytics作为报告平台,因为它是免费的,我的DLL也是免费的(目前,我不知道将来会怎样)

更多信息,请访问:

发送使用情况数据非常容易。例如:

// don't forget to pick user's consent
bool userGaveConsent = .....(pick from the app settings)....

start("MyApp", "1.0", "Free trial", "Windows edition", "UA-12345-0", userGaveConsent);

// you can send any number and combination of pageViews, screenViews, events, exceptions
sendScreenview("Main screen");
sendEvent("Registration", "User entered registration code", 1 );
sendException("Error while importing a custom file", false);

stop(void);

无论您选择什么,都要让它成为opt-in:用户必须单击某个东西才能发送通知。追求精确的虚荣指标可能会让用户远离你的软件。您可以在使用几天后提示一次?ixe013:您是对的,我想请求用户允许,但我肯定不会发送任何可能被视为个人数据的内容。请查看Visual Studio Application Insights。