# 自动连接恢复

> Understand how automatic connection recovery works.

> **Note:**
>
> Android、iOS、macOS 和 Windows 上支持自动连接恢复。

Vivox SDK 提供自动连接恢复功能以应对短暂的网络中断。无需应用程序干预即可执行此连接恢复。

当应用程序用户在两个互联网连接点之间移动时，应用程序可能临时失去互联网连接。例如，当用户在蜂窝网络之间漫游时，或者当设备在 LTE 移动数据连接与家庭无线网络连接之间切换时，可能会发生断开连接的情况。

如果网络连接丢失，Vivox SDK 会尝试使用最多 30 秒时间恢复连接。

[`VivoxService.Instance.ConnectionRecovering`](https://docs.unity3d.com/Packages/com.unity.services.vivox@latest/index.html?subfolder=/api/Unity.Services.Vivox.IVivoxService.html#Unity_Services_Vivox_IVivoxService_ConnectionRecovering) 和 [`VivoxService.Instance.ConnectionRecovered`](https://docs.unity3d.com/Packages/com.unity.services.vivox@latest/index.html?subfolder=/api/Unity.Services.Vivox.IVivoxService.html#Unity_Services_Vivox_IVivoxService_ConnectionRecovered) 是可以订阅的事件，用于跟踪连接何时被识别为中断并开始恢复以及连接何时完成恢复。您可以监控这些事件，以便向用户展示他们的 Vivox 连接运行状况。

如果在应用程序尝试重新连接到网络以后会话未能恢复，则会触发一个 [`VivoxService.Instance.ConnectionFailedToRecover`](https://docs.unity3d.com/Packages/com.unity.services.vivox@latest/index.html?subfolder=/api/Unity.Services.Vivox.IVivoxService.html#Unity_Services_Vivox_IVivoxService_ConnectionFailedToRecover) 事件。

在恢复尝试最终失败的情况下，您可以使用[最小集成](./unity-reconnect-failure.md)来提醒用户重新连接失败，因为可能需要执行用户操作来解决其网络连接运行状况的任何问题。通过进行[更深入的集成](./unity-partial-failure.md)，可能可以恢复与 Vivox 部分断开连接的问题。

> **Note:**
>
> **重要**：如果存在一个额外系统用于重新连接用户，必须允许默认 Vivox 系统完成恢复尝试，然后再由另一个系统尝试恢复连接。如果 Vivox 尝试未完成，可能产生连接恢复循环。
