2017-03-15 90 views
1

我在Android项目中包含了Crashlytics。现在,我测试了正确发送崩溃报告。我强迫七次出现同样的故障,仪表板正确显示它们。然而,它说,有受碰撞,当所有这些坠毁已造成同一用户7个用户:Crashlytics,仪表板中受影响的用户数量错误

enter image description here

FYI:我用这个方法来唯一地识别用户(称为每次该应用程序启动):

void Crashlytics.setUserIdentifier(String identifier);

我用电子邮件来识别每个用户。

UPDATE:

Crashlytics INIT:

/** 
* Android Main Application 
*/ 
public class MyApp extends Application { 

    @Override 
    public void onCreate() { 
     super.onCreate(); 
     //Init Crashlytics 
     Fabric.with(this, new Crashlytics()); 

    } 

更新2

我已出口问题的IDS( “导出ID” 按钮),然后我得到的未来info:

enter image description here

在此报告中,只有两个用户(因为我使用不同的日志用户方法)并且正确显示了崩溃次数。

这是正确的吗?

谢谢

+0

您的标识符包含哪些数据?向我们展示如何初始化Crashlytics? – Rockney

+0

@Rockney我已经更新了我的答案。非常感谢! – jmartinalonso

回答

3

迈克从织物这里。

这可能发生在几个不同的原因。首先,我们不试图跨多个设备跟踪用户或安装设备。如果有人安装应用程序,将其删除,然后重新安装应用程序,即使在同一设备上,它们也会显示为新用户。如果您在许多不同设备的模拟器上进行测试,也会发生这种情况。

并非所有的应用程序都使用导出“用户ID”时可用的自定义用户标识符,因此我们不依赖于该数据来跟踪特定用户,这就是为什么您会看到自定义用户数据和Fabric面板中设置的用户。

0

感谢您的解释。我已经在我的应用程序安装过程中添加了这些行:

// Authentificate user for the Crashlytics session 
Crashlytics.setUserIdentifier(Long.toString(User.getUserLogged().id)); 
Crashlytics.setUserEmail(User.getUserLogged().email); 
Crashlytics.setUserName(User.getUserLogged().getAuthorFullName()); 

不幸的是,没有任何信息显示在控制台Crashlytics: enter image description here

PS:有时候,我不知道为什么,有这些信息,但它真的很罕见...

感谢您的支持Mike!

+0

我会仔细检查一下,确保您在每个会话中有值并记录后记录这些值。 –

+0

@MikeBonnell我确信这些值 – anthony

+0

Gotcha,在这种情况下,在崩溃发生前写入Logcat之前查看这些值的日志会很有帮助。 –