在编程过程中,程序出错是不可避免的问题,所以Google firebase Crashlytics 提供了收集程序异常和崩溃的信息,只要我们集成到程序中,firebase 后台会自动为我们的程序收集异常信息。
Crashlytics 集成 unity:
https://firebase.google.com/docs/crashlytics/get-started?authuser=0&platform=unity#unity
在集成之后出现了一个问题:Crashlytics可以收集哪些类型的信息?
logError?抛出的异常?因为硬件原因的崩溃?unity本身导致的程序崩溃?发布到其他平台上导致的崩溃?
经过不完整测试,给出以下答案:
logError 是无法在后台展示的,因为logError本身就是调试打印,而不是程序出现的错误。
抛出的异常:可以在后台显示信息,异常属于程序错误,轻则导致部分功能无法正常运行,重则导致崩溃。
因为硬件原因导致的崩溃:这个没法测,我个人认为是可以体现出来的。
unity本身导致的崩溃:这个肯定是有的,但是呢,在unity编辑器里面导致程序崩溃,比如无出口递归,栈溢出,在测试机上只是抛出空引用异常,不会闪退。这个是我遇到的问题。
发布到其他平台上导致的崩溃:这个肯定有,将unity切换android平台,打出包之后在android测试空引用,程序直接闪退,在firebase后台是有该崩溃数据的。
并且Crashlytics的崩溃信息会将类名、函数名、代码行、具体错误异常、手机型号、手机版本、代码版本都体现出来,非常适合寻找和解决程序异常。