yyl
2026-02-11 1ad03cc2f91d75e80fc3dc42e2ac1fadc9a2bfec
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
using System;
using Cysharp.Threading.Tasks;
 
/// <summary>
/// 平台服务接口,封装各小游戏平台的 API 差异
/// </summary>
public interface IPlatformService
{
        /// <summary>
        /// 初始化平台 SDK
        /// </summary>
        /// <returns>初始化是否成功</returns>
        UniTask<bool> InitAsync();
        
        /// <summary>
        /// 获取平台类型
        /// </summary>
        PlatformType GetPlatformType();
        
        /// <summary>
        /// 登录(获取用户授权)
        /// </summary>
        /// <returns>登录结果</returns>
        UniTask<LoginResult> LoginAsync();
        
        /// <summary>
        /// 分享内容
        /// </summary>
        /// <param name="shareData">分享数据</param>
        /// <returns>分享是否成功</returns>
        UniTask<bool> ShareAsync(ShareData shareData);
        
        /// <summary>
        /// 显示广告
        /// </summary>
        /// <param name="adType">广告类型</param>
        /// <returns>广告结果</returns>
        UniTask<AdResult> ShowAdAsync(AdType adType);
        
        /// <summary>
        /// 保存数据到本地存储
        /// </summary>
        /// <param name="key">键</param>
        /// <param name="value">值(JSON 字符串)</param>
        /// <returns>保存是否成功</returns>
        UniTask<bool> SaveDataAsync(string key, string value);
        
        /// <summary>
        /// 从本地存储加载数据
        /// </summary>
        /// <param name="key">键</param>
        /// <returns>值(JSON 字符串),如果不存在返回 null</returns>
        UniTask<string> LoadDataAsync(string key);
        
        /// <summary>
        /// 下载文件到本地
        /// </summary>
        /// <param name="url">远程 URL</param>
        /// <param name="localPath">本地路径</param>
        /// <param name="onProgress">进度回调</param>
        /// <returns>本地文件路径,失败返回 null</returns>
        UniTask<string> DownloadFileAsync(string url, string localPath, Action<float> onProgress = null);
        
        /// <summary>
        /// 获取系统信息
        /// </summary>
        /// <returns>系统信息</returns>
        SystemInfo GetSystemInfo();
        
        /// <summary>
        /// 震动反馈
        /// </summary>
    /// <param name="vibrationType">震动类型</param>
    void Vibrate(VibrationType vibrationType);
}