You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Unity中应用内更新异常:更新后应用无法重启

问题分析与解决方案

核心原因

即时应用内更新(Immediate Update)的流程特性导致你原代码中的错误日志永远无法执行:

  • 当调用StartUpdate启动即时更新后,系统会接管更新流程(下载、安装),更新成功后会直接重启应用,此时原进程被终止,yield return immediateUpdateRequest之后的代码没有机会运行。
  • 如果更新失败,原代码仅通过yield return等待操作完成,但PlayCore的异步操作可能因系统交互中断,导致后续代码未触发,需要通过回调监听状态变化。

代码修复方案

修改StartImmediateUpdate方法,通过Completed回调监听更新操作的状态,确保无论成功或失败都能捕获日志:

private IEnumerator StartImmediateUpdate(AppUpdateManager appUpdateManager, AppUpdateInfo updateInfo, AppUpdateOptions updateOptions)
{
    var immediateUpdateRequest = appUpdateManager.StartUpdate(updateInfo, updateOptions);

    // 通过Completed回调监听操作结果
    immediateUpdateRequest.Completed += operation =>
    {
        if (!operation.IsSuccessful)
        {
            Debug.LogError("Install Update Error: " + operation.Error);
        }
        else
        {
            // 即时更新成功后系统会立即重启应用,此日志可能无法在控制台显示
            Debug.Log("Immediate update initiated successfully. App will restart after installation.");
        }
    };

    yield return immediateUpdateRequest;
}

额外排查建议

  • 测试环境验证:必须在真机上测试应用内更新,编辑器无法模拟该流程;同时确保应用已上传至Google Play的内部测试/封闭测试渠道,且设备安装的应用版本低于Play后台的版本。
  • 日志查看方式:依赖Unity控制台可能无法实时捕获重启前的日志,建议使用adb命令查看设备日志:
    adb logcat -s Unity
    
  • SDK兼容性:确认PlayCore SDK版本与Unity 2020.3.38f1兼容,建议使用官方推荐的最新稳定版。

内容的提问来源于stack exchange,提问作者Izzan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 16:33:27