TestFlight必须满足哪些条件才能将活动发送到服务器?

Dre*_*fer 5 android testflight

我试图理解:在Android上,TestFlight如何确定它处于beta测试环境中,并且应该将活动上传到TestFlight服务器?在iOS上 有一些类似的 问题询问TestFlight,但没有一个与Android有关.

我已将TestFlight SDK集成到我公司的Android应用程序中,因为它看起来像是beta测试和远程日志记录的一个很好的解决方案(我们已经将它用于iOS),但我无法让它实际发送会话信息到TestFlight服务器.一旦我通过TestFlight应用程序安装我的应用程序,我立即看到它是通过TestFlight Web控制台安装的,然后是... nada.我没有得到会话数据或远程日志,即使我显然应该得到一些东西.

到目前为止我做了什么:

  • 四重检查了我的TestFlight api密钥
  • 已确认TestFlight.takeOff()已被调用
  • 验证了该TestFlight.isActive()报告true
  • 尝试使用仅调试密钥对apk进行签名
  • 尝试使用我们的释放密钥签署apk
  • 检查android日志中与TestFlight相关的错误(无)
  • 几天前联系的TestFlight支持(我已经联系,但还没有进展)

我目前的猜测是TestFlight lib认为它在生产环境中,因此它不应该上传日志和会话信息.

SDK文档无关提供回答这个问题,但我觉得,如果我的理解是找什么条件,我可以钉下来很快.

我闯入TestFlightLib.jar,发现它TestFlight.isActive()实际上只是报告你是否已经调用过TestFlight.takeOff(),所以这并不是一个好的指标,表明整个系统是否正常工作.

Dre*_*fer 11

编辑:根据以下Isra的答案,看起来我的第一点(批处理检查点)可能不再有效.

在使用TestFlight支持交易了几封电子邮件之后,我会看到事件并更好地了解正在发生的事情.有两个问题:

  1. TestFlight for Android批处理checkpoint事件,并在收集10个或更多事件后将其发送到服务器.应用程序进程生命周期内不会保留事件.我的测试应用程序只创建了两个或三个检查点,因此没有任何东西被发送到服务器.

  2. 有一种情况日志事件不会发布到服务器的一个明显的问题,在所有除非TestFlight会话明确地结束TestFlight.endSession()

因此,解决方法(目前)是TestFlight.endSession()定期明确调用.希望TestFlight将在库的未来版本中更改(或至少记录)此行为.