12/12/2024 11:37:55
切换指引(MSDKV5 切换 MSDKPIX)
注意
MSDKPIX 版本依赖于 PixUI 和 PluginCrosCurl,MSDKV5 切换 MSDKPIX 需要接入 PixUI 和 PluginCrosCurl。
MSDKPIX 版本目前支持国内渠道和主流海外渠道。
Unity
一、获取 GCloud 整包
获取 GCloud 标准整包,并备份好原工程中的 Android 和 iOS 下的 MSDKConfig.ini
文件配置。
二、更新 C# 接口
替换 Unity 工程目录下 Assets/GCloudSDK/Scripts
中的 C# 接口,需要删除 MSDKxxx
,替换为 MSDKPIXxxx
。
三、Android
- 替换
Assets/Plugins/Android
目录下的 Android 插件 ,需要删除gcloudsdk-msdk-xxx
,替换gcloudsdk-msdkpix-xxx
,并且将 assets 文件夹下的 MSDK 资源文件替换为整包中的资源文件。
- 在 AndroidManifest.xml 移除 MSDKV5 配置,参考整包中的 AndroidManifest.xml 相关配置。
- 在
Assets/Plugins/Android
目录下更新MainActivity.jar
,jar 包源码可参考整包中MainActivity.java
文件,按照 GCloud 指引重新编译 jar 包
四、iOS
- 替换
Assets/GCloudSDK/Editor/Mods
目录 iOS 打包配置,需要删除MSDKxxx
,替换为MSDKPIXxxx
。 - 替换
Asstes/Plugins/iOS/GCloudSDK
目录下的 iOS 插件 ,需要删除MSDKxxx
,替换为MSDKPIXxxx
。
五、还原配置
将 MSDKConfig.ini
文件中配置项进行还原,注意不要覆盖新增项目,例如 MSDK_PIX_FAAS_HOST、MSDK_XMLHTTPREQUEST_ENABLE 等。
六、MSDK 初始化修改
MSDK接口使用时机变化:
MSDK初始化由同步改成异步,同时新增MSDK初始化完成的回调的注册接口:
注册MSDK初始化回调
1) 功能描述
接受MSDK初始化完成的回调,游戏需要注册回调函数进行处理。游戏需要等待该回调完成后,才能开始调用MSDK其他模块功能接口。
2)接口声明
/// <summary>
//// MSDK初始化回调
/// </summary>
public static event OnMSDKRetEventHandler<MSDKBaseRet> InitRetEvent;
3)示例代码
MSDK.InitRetEvent += OnInitRetEvent;
private void OnInitRetEvent(MSDKBaseRet baseRet)
{
Debug.Log ("OnInitRetEvent in MSDK");
if (baseRet.retCode == MSDKError.SUCCESS) {
Debug.Log ("MSDK is initialized successfully. ");
// 此时可以调用MSDK接口了
} else {
Debug.Log ("Failed to initialize MSDK.");
}
}
UE
一、获取 GCloud 整包
获取 GCloud 标准整包,并备份好原工程中的 Android 和 iOS 下的 MSDKConfig.ini
文件配置。
二、替换 UE 插件
替换 Plugins/yourPluginPath/MSDKxxx
插件,需要删除 MSDKxxx
, 替换为整包中的 MSDKPIXxxx
。
三、Android
更新 yourPluginPath/GCloudCore/Source/GCloudCore
下的 GCloudCore_APL.xml
文件,具体文件配置可以参照整包中 GCloudCore_APL.xml
文件。
四、更新 UE Build.cs 脚本
更新 yourProjectName.Build.cs
中依赖模块,将 MSDKxxx
改为 MSDKPIXxxx
。
五、还原配置
将 MSDKConfig.ini
文件中配置项进行还原,注意不要覆盖新增项目,例如 MSDK_PIX_FAAS_HOST、MSDK_XMLHTTPREQUEST_ENABLE 等。
六、MSDK 初始化修改
MSDK接口使用时机变化:
MSDK初始化由同步改成异步,同时新增MSDK初始化完成的回调的注册接口:
注册MSDK初始化回调
1)功能描述
接受MSDK初始化完成的回调,游戏需要注册回调函数进行处理。游戏需要等待该回调完成后,才能开始调用MSDK其他模块功能接口。
2)接口声明
class MSDK_EXPORT MSDKInitObserver
{
public:
//新增一个虚析构函数 不然 UE4 报错
virtual ~MSDKInitObserver(){};
// MSDK初始化回调
virtual void OnInitCompleteNotify(const MSDKBaseRet &baseRet) {};
};
3)示例代码
MSDK::SetMSDKInitObserver(new MSDKDemoInitObserver());
class MSDKDemoInitObserver : public MSDKInitObserver
{
public:
// MSDK初始化完成回调
void OnInitCompleteNotify(const MSDKBaseRet &baseRet)
{
if (baseRet.retCode == MSDKError::SUCCESS)
{
MSDKPIX_LOG_DEBUG("", "MSDK is initialized successfully. ");
// 此时可以调用MSDK接口了
}
else
{
MSDKPIX_LOG_ERROR("", "Failed to initialize MSDK.");
}
}
};
All rights reserved.