【发布时间】:2019-08-05 15:59:50
【问题描述】:
我在使用 SDK 时遇到了一个奇怪的问题,无论是在 Android 还是在 iOS 上。
问题是这样的:在使用 sdk 并通过转换到前台/后台后,有时我实现的应用程序通过 sdk 收到一条消息,但无法解码数据。
直到那时一切正常,它只是失败了,我们能够跟踪它。然而,有时,一旦无法解码有效载荷后,收到的所有进一步消息都会产生解码错误。
我在 Android 上的解决方案是重新实例化客户端并解决了那里的问题。
但是在 iOs 上,sdk 似乎更可靠(这意味着更难重现错误)我找不到强制杀死客户端以重新实例化它的方法。
只需调用 stop 然后将指向它的指针设为 null 就足够了吗?
如何在 iO 上强制重启客户端?
我在最佳实践中找不到重启客户端的方法。
【问题讨论】:
-
您是否遵循developers.chirp.io/docs/using-chirp/best-practices 的前景/背景最佳实践?您不需要重新启动。另请确保您使用的是最新版本的 SDK。
-
是的,我遵循了启动和停止 sdk 并将其集中化的最佳实践文档。我真的无法解释为什么会出现问题,我只知道在 Android 上我至少能够通过重置客户端来打破解码错误的模式。但我无法在 iOs 上实现同样的目标。在 iOs 上,我没有重置 Sdk,而是尝试停止并重新启动,但这并没有像我预期的那样工作。
-
您能列出发生这种情况的设备和操作系统版本吗?我们可以在这里尝试重现该问题。
-
在 iOs 上,我已经很长时间无法重现了,但是,在 Android 上,在三星 S7 Android 8 上,如果我反复尝试在前台和后台之间切换,它最终会发生,我对此的解决方案一直在重启sdk,到目前为止一直运行良好,但我无法确定具体触发它的原因。
标签: chirp