我有一个用于Windows Phone的C#程序。它使用IsolatedStorage和相机和图像做了一些非常重CPU的事情。
偶尔,我的应用程序崩溃了。它发生在大约50次中,每次发生时,我最终对代码进行了一些小修改。我大多数时候总是阻止应用程序退出try-catch。
但是在使用该应用程序约3个月后,我认为它已准备好向公众发布。但是,我仍然希望收到有关崩溃的通知,因此我知道如何修复它们。
如何在不强迫用户按发送的情况下向自己发送电子邮件?
据我所知,用户并不真的想报告错误,因此如果他们看到这样的对话,可能会按“取消”。
编辑:此次崩溃只会包含“线上崩溃”字样以及导致崩溃的行号。
编辑II:哎呀,意味着每500-1000次崩溃。谢谢@Andrei。
编辑III:使用我的所有数据,似乎这个应用程序在我调试它的18000多次中只崩溃了五次。如果用户使用我的应用程序3个月的平均使用量估计为每天20次启动,那么这给我的应用程序造成了36,000的崩溃几率,这在我非常偏见的情况下对于大量使用的应用程序非常有用声音,图像和传感器。
答案 0 :(得分:11)
在用户不知情的情况下传输信息是邪恶的。使用逆向心理学:
答案 1 :(得分:8)
谷歌搜索“silverlight上传文件”提供此link。可以帮到你。
答案 2 :(得分:4)
您是否可以通过POST请求将崩溃信息上传到网站?这可能更容易,然后让网站发送电子邮件,而不是用用户名发送(随机)电子邮件......
答案 3 :(得分:2)
除非Silverlight for WP7支持SmtpClient
,否则将无法在电子邮件应用程序之外发送邮件。
然而,有一些解决方法:
答案 4 :(得分:2)
嗯,此文件中有WPAppManifest.xml,您可以指定用户需要接受的内容 这是电子邮件的事情:http://www.ginktage.com/2011/04/how-to-send-email-in-windows-phone-7-using-c/ 我认为这可以解决你的问题 这对我来说是对的:http://www.preemptive.com/products/runtime-intelligence/compare-editions 对于WP7 Developer来说是免费的。 您可以跟踪用户的应用程序使用情况。你会看到有多少人你的应用程序使用了多长时间,我想如果它崩溃了......
答案 5 :(得分:0)
正如其他人所说,如果没有他知道,你很幸运地无法以用户身份发送电子邮件 - 但你可以使用网络服务。
为了改善这一点,我创建了堆栈跟踪的MD5哈希值,并首先检查崩溃是否发生在之前,并且只有在之前没有发生崩溃时,我才发送崩溃报告。
但我也不再问用户了。他们只是不会这样做。我先删除所有个人数据。