我们正在开发iOS的chromecast发送器应用程序。我们注意到,如果连接丢失大约 20 秒(例如,打开飞行模式 20 秒,然后将其关闭),则与接收器的连接不会恢复。有谁知道GoogleCast框架如何处理连接恢复?是否有任何重试机制?
基于本文档,Cast 框架添加了重新连接逻辑,以在许多细微的极端情况下自动处理重新连接,例如:
- 从暂时丢失的WiFi中恢复
- 从设备睡眠状态恢复
- 从后台应用程序恢复
- 如果应用程序崩溃,则恢复
您可以参考此还原会话文档:
根据 UX 指南,如果发送方应用程序与媒体路由断开连接,例如当用户或操作系统终止应用程序而用户未首先断开与 Cast 设备的连接时,则当发送方应用程序再次启动时,应用程序必须还原与接收方的会话。
要处理此用例,发送方应用程序必须在 Cast 应用生命周期内保留路由 ID 和会话 ID。如果用户显式断开与 Cast 设备的连接,则应清除这些持久化的数据,以避免在应用程序再次启动时调用自动重新连接逻辑。
希望这有帮助!