> 技术文档 > Unity微信小游戏打开游戏圈_uinty 接入微信小游戏 游戏圈功能流程

Unity微信小游戏打开游戏圈_uinty 接入微信小游戏 游戏圈功能流程

微信游戏圈目前不再依赖 gameClubButton而使用新接口wx.createPageManager()实现跳转。但是当前的微信小游戏UnitySDK还没有适配wx.createPageManager(),我们需要通过自定义接口实现调用。步骤如下:


在Assets/Plugins目录下新建wx.jslib文件,名字可以自定义,添加以下代码:

mergeInto(LibraryManager.library, { WX_CreatePageManager: function() { window.WXWASMSDK.WX_CreatePageManager(); },});

新建一个cs类,添加以下代码:

    using System.Runtime.InteropServices;public class WxUtils{ [DllImport(\"__Internal\")] private static extern void WX_CreatePageManager(); public static void CreatePageManager() { WX_CreatePageManager(); }}

    在Unity层可以直接调用CreatePageManager方法。


    打包微信小游戏,导出微信小游戏工程:

    注明[DllImport(\"__Internal\")]之后,在打包微信小游戏之后,可以在微信小游戏工程目录中的webgl.wasm.symbols.unityweb文件中找到WX_CreatePageManager方法。


    在微信小游戏工程中的unity-sdk目录下创建wxutils.js文件:

    export default { // 游戏圈 WX_CreatePageManager(){ const pageManager = wx.createPageManager(); pageManager.load({ openlink: \'xxxxxxx-xxxxxx\', // 由不同渠道获得的OPENLINK值 }).then((res) => { // 加载成功,res 可能携带不同活动、功能返回的特殊回包信息(具体请参阅渠道说明) console.log(\"[wxutils]\"+res);  // 加载成功后按需显示 pageManager.show(); }).catch((err) => { // 加载失败,请查阅 err 给出的错误信息 console.error(\"[wxutils]\"+err); }) }}

    openlink处填入自己项目的OPENLINK值。


    在unity-sdk/index.js中引入wxutils.js:

    import wxutils from \'./wxutils\';


    设置微信小程序基础库版本:

    wx.createPageManager()是微信小程序基础库3.6.7开始支持。


    之后就可以真机测试在微信小游戏中打开微信游戏圈了。