跳到主要内容

GCloud 切换 Player Network SDK 指引

替换 SDK

首先,您需要将 GCloud MSDK 替换成 Player Network SDK。

  1. 移除工程中 GCloud MSDK 插件目录。

    • 移除 SDK 脚本,脚本的目录: Assets/GCloudSDK/Scripts/ 目录下的 MSDKCoreMSDKBugly,和 MSDKFirebase 目录。
    • 移除 Android 各个插件目录:Assets/Plugins/Android/gcloudsdk-msdk-xxx 目录和相关的第三方插件目录。
    • 移除 Android 资源文件: Assets/Plugins/Android/assets/ 目录下的 MSDKConfig.iniMSDKRetMsg.jsonMSDKBuglyConfig.jsonmsdk_permission_content.htmlmsdk_policy_content.html 文件。
    • R移除 Android mainTemplate.gralde 文件中有关 GCloud MSDK 的代码。
    • 移除 iOS 插件目录, Assets/Plugins/iOS/GCloudSDK/MSDKxxx 目录。
  2. 在工程中接入 Player Network SDK 插件

  3. 切换 Player Network 后台服务。

游戏客户端代码适配

至此已成功将 GCloud MSDK 替换成 Player Network SDK。 此部分介绍 Player Network SDK 和游戏客户端代码的适配。

适配 Player Network SDK

Player Network SDK 针对引擎,提供更贴心的适配和封装,在 Unity 统一的接口文件,更方便业务接入。

  • 所有的接口,都在 INTLAPI.cs 文件中。
  • 所有的数据结构定义,都在 INTLDefine.cs 文件中。
  • 所有的错误码,都在 INTLErrorCode.cs 文件中。

业务只需关注以上三个脚本即可,无需关注内部逻辑实现。

  • Player Network SDK 在接口封装上做了优化,比如接口命名更直接,登录接口中去掉了不常用 subChannel 字段等。
  • Player Network SDK 优化了每个模块的回调,都以 INTLAPI.AddxxxObserverINTLAPI.RemovexxxObserver 的方式定义,所有的回调都在 INTLAPI.cs 文件中定义。

本文以登录接口为例,展示如何进行适配。

代码示例

通过 MSDK 实现登录,添加登录观察者监听,代码如下:

// 设置回调
MSDKLogin.LoginRetEvent += OnLoginRetEvent;

// 处理回调函数
private void OnLoginRetEvent(MSDKLoginRet loginRet)
{
Debug.Log ("OnLoginRetNotify in Login");
// ...
}
// 调用登录接口
MSDKLogin.Login(MSDKChannel.WeChat);

通过 Player Network SDK 实现登录,添加登录观察者监听,代码如下:

// 设置回调
INTLAPI.AddAuthResultObserver(OnAuthResultEvent);

// 处理回调函数
public void OnAuthResultEvent(INTLAuthResult ret)
{
Debug.Log ("OnAuthResultEvent in Login");
//...
}

// 调用登录接口
INTLAPI.Login(INTLChannel.Facebook);

蓝图调用

不适用。

替换后台服务

至此已成功适配游戏客户端。最后,您还需要将 GCloud 后台服务替换成 Player Network 后台服务。

由于 Player Network SDK 后台服务方式与 GCloud MSDK 相同,业务只需要切换 URL 地址。

Player Network 和 GCloud 的区别

Player Network 从整体服务的角度出发,优化了模块和接口的设计,提供更统一的服务,方便业务快速接入。

  • Player Network 提供统一的服务,是真正的一个团队,一套服务。
  • Player Network 针对引擎,提供更贴心的适配和封装,在 Unity 统一的接口文件,更方便业务接入。