04/29/2024 11:54:52

切换指引(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

  1. 替换 Assets/Plugins/Android 目录下的 Android 插件 ,需要删除 gcloudsdk-msdk-xxx,替换 gcloudsdk-msdkpix-xxx,并且将 assets 文件夹下的 MSDK 资源文件替换为整包中的资源文件。
  1. 在 AndroidManifest.xml 移除 MSDKV5 配置,参考整包中的 AndroidManifest.xml 相关配置。
  2. Assets/Plugins/Android 目录下更新 MainActivity.jar,jar 包源码可参考整包中 MainActivity.java 文件,按照 GCloud 指引重新编译 jar 包

四、iOS

  1. 替换 Assets/GCloudSDK/Editor/Mods 目录 iOS 打包配置,需要删除 MSDKxxx,替换为 MSDKPIXxxx
  2. 替换 Asstes/Plugins/iOS/GCloudSDK 目录下的 iOS 插件 ,需要删除 MSDKxxx,替换为 MSDKPIXxxx

五、还原配置

将备份的 MSDKConfig.ini 文件替换回原处。

六、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 初始化修改

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.");
        }
    }
};



Copyright © 2024 MSDK.
All rights reserved.

results matching ""

    No results matching ""