Flurry 不报告所有错误
Flurry does not report all errors
我在 Android 应用程序中使用 flurry o trace 崩溃和错误。我最近发现了一个问题,我的一些错误(用 onError() 方法记录的)没有显示在 flurry analitycs 上。
为了测试这是否不是某种配置问题或延迟,我从我的应用程序的不同位置用相同的配置触发了一些错误。结果,我看到从 activity 引发的错误已被正确接收,但未收到从我的服务引发的一些错误。
我启用了 flurry 日志,他们说这些错误已发送,但 flurry 仪表板看不到它们。
例如,从未收到的错误是我从自定义 UncaughtExceptionHandler 触发的错误,因为 Flurry 也不报告服务崩溃。这是它的代码:
final Context context = this;
final Thread.UncaughtExceptionHandler uncaughtExceptionHandler = Thread.getDefaultUncaughtExceptionHandler();
Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {
@Override
public void uncaughtException(Thread thread, Throwable ex) {
Log.e(TAG, "ERROR DETECTED------------------------------------------", ex);
//Utils.sendFlurryError(context, "serviceCrash", "Uncaught error in Swiper Sevice",new Exception(ex));
FlurryAgent.onError("serviceCrash","Uncaught error in Swiper Service",ex );
NotificationManagerCompat manager = NotificationManagerCompat.from(context);
NotificationCompat.Builder builder = new NotificationCompat.Builder(context)
.setContentIntent(PendingIntent.getActivity(context, 42, new Intent(context, AppConstants.LAUNCH_CLASS), 0))
.setSmallIcon(R.drawable.icon_notif2)
//.setLargeIcon(BitmapFactory.decodeResource(getResources(),R.drawable.logo_rond))
.setGroup("swiper")
.setAutoCancel(true)
.setContentTitle("Swiper")
.setContentText("Swiper met an error. Please restart swiper to correct it");
manager.notify(Notification.SWIPER_NOTIF_ID, builder.build());
uncaughtExceptionHandler.uncaughtException(thread, ex);
}
});
如果您遇到这种错误并知道解决方法,将不胜感激
检查崩溃跟踪
这是一个很好的库,由 twitter 制作。
onError
与其说是崩溃报告的答案,不如说是作为记录事件的模拟而构建的。事实上,您提交的跟踪将在 256 个字符后被截断,这是事件中值可以具有的最大长度。
不过,Flurry 确实提供了一个崩溃报告解决方案,在这种情况下应该足够了。
https://developer.yahoo.com/flurry/docs/overview/lexicon/crashanalytics/
我在 Android 应用程序中使用 flurry o trace 崩溃和错误。我最近发现了一个问题,我的一些错误(用 onError() 方法记录的)没有显示在 flurry analitycs 上。
为了测试这是否不是某种配置问题或延迟,我从我的应用程序的不同位置用相同的配置触发了一些错误。结果,我看到从 activity 引发的错误已被正确接收,但未收到从我的服务引发的一些错误。 我启用了 flurry 日志,他们说这些错误已发送,但 flurry 仪表板看不到它们。
例如,从未收到的错误是我从自定义 UncaughtExceptionHandler 触发的错误,因为 Flurry 也不报告服务崩溃。这是它的代码:
final Context context = this;
final Thread.UncaughtExceptionHandler uncaughtExceptionHandler = Thread.getDefaultUncaughtExceptionHandler();
Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {
@Override
public void uncaughtException(Thread thread, Throwable ex) {
Log.e(TAG, "ERROR DETECTED------------------------------------------", ex);
//Utils.sendFlurryError(context, "serviceCrash", "Uncaught error in Swiper Sevice",new Exception(ex));
FlurryAgent.onError("serviceCrash","Uncaught error in Swiper Service",ex );
NotificationManagerCompat manager = NotificationManagerCompat.from(context);
NotificationCompat.Builder builder = new NotificationCompat.Builder(context)
.setContentIntent(PendingIntent.getActivity(context, 42, new Intent(context, AppConstants.LAUNCH_CLASS), 0))
.setSmallIcon(R.drawable.icon_notif2)
//.setLargeIcon(BitmapFactory.decodeResource(getResources(),R.drawable.logo_rond))
.setGroup("swiper")
.setAutoCancel(true)
.setContentTitle("Swiper")
.setContentText("Swiper met an error. Please restart swiper to correct it");
manager.notify(Notification.SWIPER_NOTIF_ID, builder.build());
uncaughtExceptionHandler.uncaughtException(thread, ex);
}
});
如果您遇到这种错误并知道解决方法,将不胜感激
检查崩溃跟踪
这是一个很好的库,由 twitter 制作。
onError
与其说是崩溃报告的答案,不如说是作为记录事件的模拟而构建的。事实上,您提交的跟踪将在 256 个字符后被截断,这是事件中值可以具有的最大长度。
不过,Flurry 确实提供了一个崩溃报告解决方案,在这种情况下应该足够了。
https://developer.yahoo.com/flurry/docs/overview/lexicon/crashanalytics/