结构说明:

1. 小游戏sdk: Assets/Plugins/IvyMiniGame/  
2. IvySDK: Assets/Plugins/IvySdk/
3. 工具: Assets/Plugins/Utils/
4. 抖音sdk: Assets/Plugins/ByteGame/

1. 使用方式

I. 安装微信小游戏sdk
  1. Package方式安装 打开游戏工程 -> Unity Editor 菜单栏 -> Package Manager -> 右上方“+” -> Add Package from git URL URL 地址为:
https://github.com/wechat-miniprogram/minigame-tuanjie-transform-sdk.git

详细文档请参考

https://gitee.com/wechat-minigame/minigame-unity-webgl-transform#/wechat-minigame/minigame-unity-webgl-transform/blob/main/Design/SDKInstaller.md
II. 导入 sdk
III. 添加宏 IVYSDK_WX

2. 接口说明

1. 游戏配置

请参考 MiniGameConfig.cs

2. 微信相关

微信登陆

IvySdk.Instance.Login((data) => { 
//登陆成功
}, (err) => { 
//登陆失败
});

微信登陆状态判断

IvySdk.Instance.IsLogin((state) =>
{

});
登陆示例
IvySdk.Instance.IsLogin((state) =>
{
	if(!state){
			IvySdk.Instance.Login((data) => { 
			//登陆成功
			}, (err) => { 
			//登陆失败
			});
	}
});

登陆用户信息

string str = IvySdk.Instance.LoggedUser();
微信用户信息示例
{
	"logInfo":{
		"openId":"",
		"unionId":""
	}
}

3. 计费相关

计费点信息需要提前录入管理后台,否则拉起支付时会出现异常,请联系运营人员录入

获取计费点信息

string str = IvySdk.Instance.GetPaymentData(billId);

支付

IvySdk.Instance.Pay(billId);
string str = IvySdk.Instance.Pay(billId, payload);

计费回调

IvySdkListener.OnPaymentEvent += (IvySdk.PaymentResult result, int i, string str) =>
{
	Ivy.Utils.Log.Print($"pay result::{result} {i} {str}");
};

IvySdkListener.OnPaymentWithPayloadEvent += (IvySdk.PaymentResult result, int i, string str, string str1) =>
{
	Ivy.Utils.Log.Print($"pay result::{result} {i} {str} {str1}");
};

计费点配置

请参考示例中的 payConfig.json

{
    "data":[
        {
            "payId":"1",
            "name":"1元礼包",
            "skuId":"fun.photonfox.cn.goods.p0017",
            "price":100,
            "description":"一小包好东西",
            "imageUrl":"https://tcdng001.photonfox.cn/WebShop/images/gift_pack_small.png"
        },
        {
            "payId":"2",
            "name":"6元礼包",
            "skuId":"fun.photonfox.cn.goods.p0099",
            "price":600,
            "description":"一小包好东西",
            "imageUrl":"https://tcdng001.photonfox.cn/WebShop/images/gift_pack_small.png"
        },
        {
            "payId":"3",
            "name":"12元礼包",
            "skuId":"fun.photonfox.cn.goods_01.p0199",
            "price":1200,
            "description":"一小包好东西",
            "imageUrl":"https://tcdng001.photonfox.cn/WebShop/images/gift_pack_small.png"
        }
    ]
}

4. 客服

打开微信客服

IvySDK.Instance.ShowHelp();

5. 系统环境

是否为IOS

bool state = IvySDK.Instance.IsIOSSystem();

6. 事件

IvySDK.Instance.LogEvent(string event, string keyValueData);

7. 云函数

云函数api说明文档

参照 腾讯云函数接口文档(1).docx

使用示例

            IvySdk.Instance.CallTencentCloudFunction(api_key, param, (data) =>
            {
                Ivy.Utils.Log.Print($"cloud func success:: data:{data}");
            }, (api_key) =>
            {
                Ivy.Utils.Log.Print($"cloud func:: api:{api_key} failed");
            });