using System;
using UnityEngine;
using Cysharp.Threading.Tasks;
///
/// 版本检查类,用于获取当前应用版本信息
///
public class VersionCheck
{
///
/// 获取本地版本信息
/// 适用于安卓、iOS、WebGL和PC平台
///
/// 版本字符串,格式为 x.y.z
public static async UniTask GetLocalVersionAsync()
{
try
{
// 首先尝试从Resources加载版本文件
TextAsset versionAsset = Resources.Load("version");
if (versionAsset != null)
{
string versionText = versionAsset.text.Trim();
Debug.Log($"从Resources加载版本信息: {versionText}");
return versionText;
}
// 如果Resources中没有版本文件,则使用应用程序版本
string appVersion = Application.version;
Debug.Log($"使用应用程序版本: {appVersion}");
// 确保版本号格式正确
if (string.IsNullOrEmpty(appVersion))
{
Debug.LogWarning("应用程序版本为空,使用默认版本 1.0.0");
appVersion = "1.0.0";
}
return appVersion;
}
catch (Exception e)
{
Debug.LogError($"获取本地版本信息失败: {e.Message}");
return "1.0.0"; // 返回默认版本
}
}
}