问题描述
|
我在Windows Phone的C#中有一个程序。它使用IsolatedStorage以及摄像头和图像完成了一些真正占用大量CPU的工作。
有时,我的应用程序崩溃了。它大约发生50次,每次发生1次,最后我对代码进行了一些小的修改。我通常会始终阻止应用程序使用try-catch退出。
但是经过大约3个月的应用程序开发,我认为它已经准备好向公众发布。但是,我仍然希望收到有关崩溃的通知,因此我知道如何修复它们。
我如何在不强迫用户按发送的情况下向自己发送电子邮件?
据我所知,用户并不是真的想报告错误,因此如果他们看到这样的对话框,则很可能按“取消”。
编辑:此崩溃将只包含单词\“在行\崩溃”和导致崩溃的行号。
编辑II:糟糕,意味着每500-1000次崩溃。谢谢@Andrei。
编辑III:使用我的所有数据,看来该应用程序在我调试它的18000多次以上中仅崩溃了五次。如果用户使用我的应用程序三个月(平均每天估计要启动20次),则我的应用程序崩溃的几率是36000,在我看来,这对于大量使用的应用程序来说非常有用声音,图像和传感器。
解决方法
在用户不知情的情况下传输信息是邪恶的。使用逆向心理学:
,
使用try-catch修复崩溃并不能真正解决它们。处理原因,而不是症状。
未经用户同意错误地发送电子邮件,由于其中可能包含个人信息,因此也是非法的。由于发送用户的数据也可能会花费成本,因此在商业上也不太可行,因为这会增加用户的成本,却没有带来真正的好处。
将崩溃报告发送到网站而不是电子邮件地址看起来更专业。
如果您不希望用户单击以发送每个崩溃报告,则可以尝试在安装应用程序时询问用户是否要提交崩溃信息。
谷歌搜索\“ silverlight上传文件\”提供了此链接。愿它对您有帮助。
, 您可以将带有POST请求的崩溃信息上传到网站吗?这样做可能会让网站发送电子邮件比以用户名发送(随机)电子邮件要容易得多。
, 除非WP7的Silverlight支持ѭ0,否则将无法通过电子邮件应用程序发送邮件。
但是,有一些解决方法:
创建一个Web服务来捕获您的wp7可以尝试向其发出请求的数据,
只需使用电子邮件功能,并希望用户点击发送即可(您会感到惊讶)
使用像Flurry这样的具有OnError事件日志记录的服务,并将其放入未处理的异常处理程序中。
使用电子邮件Web服务代理将电子邮件发送给您。
, 好了,此文件中有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,它是免费的。
您可以跟踪用户的应用程序使用情况。您会看到有多少人使用您的应用程序多长时间,而且我认为它也会崩溃...
, 正如其他人所说,很幸运,您无法在用户不知道的情况下以用户身份发送电子邮件-但您只能使用Web服务。
为了改善这一点,我创建了stacktrace的MD5哈希,并首先检查崩溃是否之前发生,并且仅当崩溃之前没有发生时,才发送崩溃报告。
但是我也不再询问用户了。他们只是不会那样做。我只是先删除所有个人数据。