1
1
# SDK 调用微信 API
2
2
3
- 将 WX-WASM-SDK 这个目录拷贝至 unity 工程 Assets 目录下,在主入口初始化,回调后再执行你的主逻辑
3
+ ## 初始化
4
+
5
+ 调用` Unity SDK ` 前,需要在主入口进行SDK初始化,回调后再执行主逻辑。
4
6
5
7
```
6
8
WX.InitSDK((int code)=> {
7
9
// 你的主逻辑
8
10
});
9
11
```
10
12
11
- API 可以直接看` WX.cs ` 这个文件,里面有` 详细注释说明 ` 。
13
+ ## 支持范围
14
+
15
+ 本` Unity SDK ` 对` WXSDK ` 的支持大体与[ 官网 API 文档] ( https://developers.weixin.qq.com/minigame/dev/api/ ) 相同。
16
+
17
+ 具体支持的 API 可以查看` WX.cs ` 文件,其中有详细注释说明。
18
+
19
+ ### 更新机制
20
+
21
+ 新版` Unity SDK ` 会在[ lib.wx.api.d.ts] ( https://github.com/wechat-miniprogram/minigame-api-typings/blob/master/types/wx/lib.wx.api.d.ts ) 更新后及时更新。若基础库更新后[ lib.wx.api.d.ts] ( https://github.com/wechat-miniprogram/minigame-api-typings/blob/master/types/wx/lib.wx.api.d.ts ) 暂未更新,开发者可参考[ 自定义SDK调用] ( ./CustomSDK.md ) 临时调用WXSDK。
22
+
23
+ ### Unity SDK 特供API
24
+
25
+ 此处列出[ lib.wx.api.d.ts] ( https://github.com/wechat-miniprogram/minigame-api-typings/blob/master/types/wx/lib.wx.api.d.ts ) 中未列出,仅在` Unity SDK ` 中可用的API列表。
26
+
27
+ | 类别 | 函数名 | 备注 |
28
+ | ------| --------| ------|
29
+ | ** 基础功能** | InitSDK | 初始化SDK |
30
+ || CanIUse | 判断API在当前环境是否可用 |
31
+ || SetDevicePixelRatio | 设置设备像素比 |
32
+ || CallJSFunction | 调用JS函数 |
33
+ || CallJSFunctionWithReturn | 调用JS函数并获取返回值 |
34
+ | ** 字体** | GetWXFont | 获取微信字体 |
35
+ | ** 广告** | CreateFixedBottomMiddleBannerAd | 创建固定底部中间的bannerAd |
36
+ | ** 社交组件** | CreateMiniGameChat | 创建社交组件 |
37
+ | ** 开放数据域** | ShowOpenData | 显示开放数据域Canvas |
38
+ || HideOpenData | 显示开放数据域Canvas |
39
+ | ** 音频** | PreDownloadAudios | 预下载音频资源 |
40
+ | ** 云测试** | IsCloudTest | 是否小游戏云测试环境 |
41
+ | ** 隐私协议弹窗** | PrivacyAuthorizeResolve | 由于C#侧无法直接返回JS绑定函数,所以新增一个API专门用于在WX.OnNeedPrivacyAuthorization的回调内调用 |
42
+ | ** 本地缓存** | StorageSetIntSync | 同wx.setStorageSync |
43
+ || StorageGetIntSync | 同wx.getStorageSync |
44
+ || StorageSetStringSync | 同wx.setStorageSync |
45
+ || StorageSetFloatSync | 同wx.setStorageSync |
46
+ || StorageGetFloatSync | 同wx.getStorageSync |
47
+ || StorageDeleteAllSync | 同wx.clearStorageSync |
48
+ || StorageDeleteKeySync | 同wx.removeStorageSync |
49
+ || StorageHasKeySync | 判断本地缓存中是否包含该key |
50
+ | ** 文件缓存清理** | CleanAllFileCache | 清理所有文件缓存 |
51
+ || CleanFileCache | 清理文件缓存 |
52
+ || RemoveFile | 删除文件 |
53
+ || GetCachePath | 获取缓存路径 |
54
+ | ** 性能** | GetTotalMemorySize | 获取当前UnityHeap总内存(峰值) |
55
+ || GetTotalStackSize | 获取当前UnityHeap Stack大小 |
56
+ || GetStaticMemorySize | 获取当前UnityHeap静态内存 |
57
+ || GetDynamicMemorySize | 获取当前UnityHeap动态内存 |
58
+ || GetUsedMemorySize | 获取已使用UnityHeap内存大小 |
59
+ || GetUnAllocatedMemorySize | 获取未分配UnityHeap内存大小 |
60
+ || LogUnityHeapMem | 打印UnityHeap内存 |
61
+ || GetBundleNumberInMemory | 获取当前AssetBundle在JS内存中的数量 |
62
+ || GetBundleNumberOnDisk | 获取当前AssetBundle在磁盘中不可清理的数量 |
63
+ || GetBundleSizeInMemory | 获取当前AssetBundle在JS内存中的体积 |
64
+ || GetBundleSizeOnDisk | 获取当前AssetBundle在磁盘中不可清理的体积 |
65
+ || OpenProfileStats | 打开性能面板 |
66
+ || ProfilingMemoryDump | ProfilingMemory内存Dump |
67
+ | ** LogManager** | WriteLog | 同LogManager.log |
68
+ || WriteWarn | 同LogManager.warn |
69
+ || LogManagerDebug | 同LogManager.debug |
70
+ || LogManagerInfo | 同LogManager.info |
71
+ || LogManagerLog | 同LogManager.log |
72
+ || LogManagerWarn | 同LogManager.warn |
73
+ | ** 上报** | ReportUserBehaviorBranchAnalytics | 分支相关的UI组件相关事件的上报 |
74
+ || UncaughtException | 异常上报 |
75
+ || ReportGameSceneError | 上报游戏自定义场景的错误信息 |
76
+ | ** 插件配置** | SetDataCDN | 设置数据CDN |
77
+ || SetPreloadList | 设置预加载列表 |
78
+ | ** 启动剧情** | GetLaunchOperaHandler | 获取启动剧情交互句柄 |
79
+ | ** 其他** | ReportGameStart | 游戏开始运行时上报 |
80
+ || HideLoadingPage | 隐藏加载页 |
81
+ || PreloadConcurrent | 控制预载并发数 |
82
+ || OnLaunchProgress | 获取启动loader的启动数据 |
83
+
84
+ ### 暂未支持的WXAPI
85
+
86
+ ` 暂未支持的WXAPI ` 中有一部分接口** 需要在开放数据域调用** ,故暂无法支持。
87
+
88
+ | 主类别 | 副类别 | 函数名 | 描述 |
89
+ | ------| ------| ------| ------|
90
+ | ** 基础** | ** 分包加载** | wx.loadSubpackage | 触发分包加载 |
91
+ | ** 转发** || wx.checkHandoffEnabled | 检查是否可以进行接力 |
92
+ ||| wx.startHandoff | 开始进行接力 |
93
+ | ** 界面** | ** 窗口** | wx.setWindowSize | 设置窗口大小 |
94
+ | ** 网络** | ** WebSocket** | wx.sendSocketMessage | 通过 WebSocket 连接发送数据 |
95
+ ||| wx.onSocketOpen | 监听 WebSocket 连接打开事件 |
96
+ ||| wx.onSocketMessage | 监听 WebSocket 接收到服务器的消息事件 |
97
+ ||| wx.onSocketError | 监听 WebSocket 错误事件 |
98
+ ||| wx.onSocketClose | 监听 WebSocket 连接关闭事件 |
99
+ ||| wx.closeSocket | 关闭 WebSocket 连接 |
100
+ | ** 数据缓存** || wx.getStorage | 异步获取本地缓存 |
101
+ ||| wx.setStorage | 异步存储本地缓存 |
102
+ ||| wx.setStorageSync | 同步存储本地缓存 |
103
+ ||| wx.getStorageSync | 同步获取本地缓存 |
104
+ ||| wx.clearStorage | 异步清理本地缓存 |
105
+ ||| wx.clearStorageSync | 同步清理本地缓存 |
106
+ ||| wx.createBufferURL | 创建Buffer URL |
107
+ | ** 渲染** | ** 图片** | wx.createImage | 创建图片对象 |
108
+ | ** 开放接口** | ** 开放数据** | wx.getFriendCloudStorage | 获取同玩好友托管数据 |
109
+ ||| wx.getGroupCloudStorage | 获取群同玩成员游戏数据 |
110
+ ||| wx.getGroupInfo | 获取群信息 |
111
+ ||| wx.getPotentialFriendList | 获取可能对游戏感兴趣的未注册的好友名单 |
112
+ ||| wx.getUserCloudStorage | 获取当前用户托管数据 |
113
+ ||| wx.getUserCloudStorageKeys | 获取当前用户托管数据键值 |
114
+ ||| wx.modifyFriendInteractiveStorage | 修改好友的互动型托管数据 |
115
+ ||| wx.shareMessageToFriend | 给指定的好友分享游戏信息 |
116
+ | ** 工具** || wx.encode | 将字符串编码成ArrayBuffer |
117
+ ||| wx.decode | 将ArrayBuffer解码成字符串 |
118
+
119
+ ## 调用方法
120
+
121
+ Unity 版本的 API 大体与[ 官网 API 文档] ( https://developers.weixin.qq.com/minigame/dev/api/ ) 的 JS 版本 API 类似,使用时可以参考。
12
122
13
- 本 Unity 的 SDK 的 API 大体与[ 官网 API 文档] ( https://developers.weixin.qq.com/minigame/dev/api/ ) 的 JS 版本 API 类似,使用时可以参考之。
14
123
如 JS 版的 banner 广告的调用如下:
15
124
16
125
``` js
@@ -69,9 +178,9 @@ bannerAd.OnError((WXADErrorResponse res)=>
69
178
70
179
## 开发建议
71
180
72
- ### Demo API 示例
181
+ ### API 示例
73
182
74
- 使用示例我们会逐渐补充到[ Demo] ( https://github.com/wechat-miniprogram/minigame-unity-webgl-transform/tree/main/Demo ) , 其中 API 项目为常见到使用范例 ,请优先查阅用法。
183
+ 使用示例我们会逐渐补充到[ Demo] ( https://github.com/wechat-miniprogram/minigame-unity-webgl-transform/tree/main/Demo ) , 其中 API 项目为常见使用范例 ,请优先查阅用法。
75
184
76
185
### 联调效率
77
186
@@ -92,4 +201,3 @@ gl.clear(gl.COLOR_BUFFER_BIT);
92
201
1 . 广告接口是否需要上线后才能调试
93
202
94
203
- 是的,需要上线并累计 UV>1000 才可以开通广告主
95
-
0 commit comments