android - TestFlight 向服务器发送 Activity 必须满足什么条件?

标签 android testflight

我试图理解:在 Android 上,TestFlight 如何确定它处于 beta 测试环境中,并且应该将 Activity 上传到 TestFlight 服务器?有一些 similar questions询问 iOS 上的 TestFlight,但与 Android 无关。

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

到目前为止我做了什么:

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

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

SDK Documentation没有什么可以回答这个问题,但我觉得如果我了解它正在寻找什么条件,我可以很快确定下来。

我查看了 TestFlightLib.jar,发现 TestFlight.isActive() 实际上只是报告您是否已经调用了 TestFlight.takeOff(),所以这并不能很好地指示整个系统是否正常工作。

最佳答案

编辑:根据 Isra's answer下面,看起来我的第一点(批处理检查点)可能不再有效。

在与 TestFlight 支持交换几封电子邮件后,我看到了一些事件,并且对正在发生的事情有了更好的了解。有两个问题:

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

  2. 有一个明显的问题,日志事件根本没有发布到服务器,除非 TestFlight session 明确结束 TestFlight.endSession()

因此,解决方法(目前)是定期显式调用 TestFlight.endSession()。希望 TestFlight 会在库的 future 版本中更改(或至少记录)此行为。

关于android - TestFlight 向服务器发送 Activity 必须满足什么条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18405832/

相关文章:

iphone - 让 TestFlight 与 Monotouch 应用程序配合使用时出现问题

ios - Apple 的 TestFlight 和推送通知

android - Robobinding 框架中的验证 (Android)

java - 为什么我们需要调用 "build()"让 Uri.Builder 对象传入 URL 构造函数?

android - 新的 Password Visibility Toggle 是否破坏了 EditTexts 的现有 drawableRight?

java - 基于 arraylist 的排序索引的 Hashmap 排序

ios - Testflight 不允许使用 iOS 8.1 SDK 编译的 iOS 7.1 应用程序安装在 iOS 7.1.2 iPhone 上

ios - 停止后如何在 TestFlight 中继续测试

java - AlertDialog 中的文本颜色未更改

iOS 应用程序因错误 Domain=UILaunchStoryboardErrorDomain Code=2 而崩溃