# 进阶能力
游戏在美团小游戏平台成功运行后,可按需接入平台能力(登录、支付、广告、存储等),并完成屏幕与输入法适配。本章介绍这些进阶能力的接入要点。
# 一、初始化 SDK
接入任何平台能力前,需先初始化 SDK。建议在游戏启动早期调用,初始化完成后再调用其他平台接口:
using WeChatWASM;
WX.InitSDK((int code) =>
{
Debug.Log("InitSDK code: " + code);
// 初始化完成后再调用登录、支付等能力
});
# 二、接入平台能力
转换插件提供了平台能力的 C# 封装,可在 Unity 代码中直接调用,覆盖登录、存储、广告、支付、分享等能力。各能力的参数与返回值,请对照对应的平台 API 文档:
| 能力 | 说明 | 参考文档 |
|---|---|---|
| 基础能力 | 系统信息、生命周期、分包加载等 | 基础 API |
| 登录 | 获取登录态 code,换取用户身份 | 登录态管理 |
| 虚拟支付 | 内购下单与支付回调 | 支付 API |
| 添加到桌面 | 添加桌面快捷方式 | 添加桌面快捷方式 |
| 广告 | IAA 广告接入 | IAA 广告接入 SDK |
平台准入通常要求接入基础 API 与分包加载,涉及内购 / 变现时还需虚拟支付、添加到桌面等;具体以平台准入规范与游戏业务场景为准。完整 API 列表见 API 汇总。
平台 JS 接口同时支持
wx与mt两个前缀(wx === mt),无需改动即可适配。
# 三、屏幕与安全区适配
- 安全区域:刘海屏、挖孔屏等机型存在安全区域,可通过系统信息接口获取安全区域参数,将关键 UI 元素布局在安全区域内,避免被遮挡。
- 高分辨率屏幕:Unity 2019.3+ 支持设置 WebGL 分辨率(dpr),在高分屏上可提升清晰度;注意分辨率越高对性能与功耗的开销越大,需结合机型权衡(参考运行性能优化)。
# 四、输入法适配
自动适配支持版本:InputField(Unity 2022 / 团结引擎)、TextMeshPro - Input Field(团结引擎,且 TextMeshPro 插件 3.0.7 及以上)。
默认关闭:自较新版本的转换插件起,输入法自动适配默认关闭——开启后会使 Touch 多走一次 MainLoop、带来较明显的性能损耗。如需开启,二选一:
- 将转换插件提供的
WXTouchInputOverride.cs附加到场景中的EventSystem对象上; - 或在合适位置启用
mobileKeyboardSupport。注意不同构建目标使用的输入类不同,请用条件编译同时覆盖,避免团结引擎用户只照抄 WebGL 分支而失效:
#if PLATFORM_WEIXINMINIGAME
// 团结引擎 / 小游戏构建目标
WeixinMiniGameInput.mobileKeyboardSupport = true;
#elif PLATFORM_WEBGL
#if UNITY_2022_1_OR_NEWER
WebGLInput.mobileKeyboardSupport = true;
#endif
#endif
低版本手动适配:较低引擎版本无法自动唤起输入法时,可用 SDK 提供的键盘接口自行编写适配脚本并绑定到 InputField:WX.ShowKeyboard 唤起、WX.OnKeyboardInput 接收输入并回填、WX.OnKeyboardConfirm 与 WX.HideKeyboard 处理确认与收起。
如使用了自定义输入组件,请在目标机型上验证键盘唤起、输入回填与收起的完整流程。