You need to enable JavaScript to run this app.
导航

Unity SDK 参考

最近更新时间2024.02.20 10:53:41

首次发布时间2023.04.28 09:58:14

本文档介绍 GNA Unity SDK 的参考信息。

SDK 初始化

命名空间: GNASDK

IGnaClient 接口

描述

包含 SDK 初始化所需的参数和方法。

定义

public interface IGnaClient
{
   public void SetAppId(string appId);

   public void SetDeviceId(string deviceId);

   public void SetSecret(string secret);
        
   public void SetEnableVerbose(bool enable);

   public void Init(GnaMonitorCallback monitorCallback, GnaInitEndCallback initCallback);
}

成员方法

成员方法

描述

SetAppId

设置标识您的 App 的唯一 ID。您需要在 appId 参数中传入 App ID。您需要从 GNA 控制台获取 App ID。您可以参见 获取 App ID 和 SDK 鉴权值 了解获取方法。

SetDeviceId

设置标识某一台设备的唯一 ID。您需要在 deviceId 参数中传入该 ID。仅支持除 0 之外的阿拉伯数字。您需要自行设置和管理 Device ID。建议您复用 App 中已有的用于标识用户设备的 ID。

SetSecret

设置 SDK 鉴权值。您需要在 secret 参数中传入 SDK 鉴权值。您需要从 GNA 控制台获取 SDK 鉴权值。您可以参见 获取 App ID 和 SDK 鉴权值 了解获取方法。

SetEnableVerbose

设置是否开启 verbose 级别的日志。

  • true:(默认)开启 verbose 级别的日志。适用于 debug 模式。
  • false:关闭 verbose 级别的日志。适用于 release 模式。

Init

初始化 GNA SDK。该方法是异步的。您需要分别在 monitorCallback 参数和 initCallback 参数中传入您实现并基于 GnaMonitorCallback 委托和 GnaInitEndCallback 委托注册的回调。

GnaMonitorCallback 委托

描述

日志监控委托。您可以通过该委托查看事件类型和日志。

定义

public delegate void GnaMonitorCallback(string log, string eventType);

参数

参数

描述

log

日志。

eventType

事件类型。

GnaInitEndCallback 委托

描述

初始化结果委托。您可以通过该委托查看初始化结果。

定义

public delegate void GnaInitEndCallback(bool initSuccess, string errorMsg);

参数

参数

描述

initSuccess

初始化是否成功。

  • true:初始化成功。
  • false:初始化失败。

errorMsg

错误信息。

玩家自助网络分析

命名空间: GNASDK

CreateDiagnosisRequest 方法 [1/2]

说明

该方法已废弃。推荐您使用 IDiagnosisRequest CreateDiagnosisRequest(RequestParams requestParams) 方法。

描述

创建玩家自助网络分析请求。

定义

public interface INetExperienceService
{
    IDiagnosisRequest CreateDiagnosisRequest(GnaExpRequestType reqType, List<string> target,
            GnaExpNetDetectType detectType, GnaExpMultiNetAction multiNetAction, int timeout);


     void ReportUserLog(string userLog);
}

参数

参数

说明

reqType

请求类型。你必须设置为 DiagnoseV1Target

target

网络分析的目标地址。可以是域名或 IPv4 地址。

detectType

网络分析使用的请求类型。建议您设置为 0。

multiNetAction

网络分析所适用的网络类型。建议您设置为 0。

timeout

网络分析使用的请求的超时时间(毫秒)。如果网络分析超时,会触发 onDiagnosisComplete 回调。

返回值

IDiagnosisRequest 对象。

CreateDiagnosisRequest 方法 [2/2]

描述

创建玩家自助网络分析请求。

定义

IDiagnosisRequest CreateDiagnosisRequest(RequestParams requestParams);

参数

参数

说明

requestParams

参见 RequestParams 类

返回值

IDiagnosisRequest 对象。

RequestParams 类

描述

网络分析请求参数。

定义

public class RequestParams
    {
        public GnaExpRequestType RequestType;
        
        public List<string> Targets;
        
        public string DispatchFeature;
        
        public GnaExpNetDetectType DetectType;
        
        public GnaExpMultiNetAction MultiNetAction;
        
        public int Timeout;
    }

参数

参数

说明

RequestType

请求类型。你必须设置为 DiagnoseV1Target

Targets

网络分析的目标地址。可以是域名或 IPv4 地址。目前您只能传入一个目标地址。

DispatchFeature

地址特征,用于网络分析的地址调度功能。
如果您不需要使用地址调度功能,可设置为 ""

DetectType

网络分析使用的请求类型。建议您设置为 0。

MultiNetAction

网络分析所适用的网络类型。建议您设置为 0。

Timeout

网络分析使用的请求的超时时间(毫秒)。如果网络分析超时,会触发 onDiagnosisComplete 回调。

DiagnosisCompleteCallback 委托

描述

报告网络分析的结果。您需要实现该回调并在调用 CreateDiagnosisRequest 方法时传入该回调。当网络分析完成、被取消、因网络切换中止、超时或失败时,SDK 都会通过该回调返回结果。

定义

public interface IDiagnosisRequest
    {
        delegate void DiagnosisCompleteCallback(string report);

        ...
    }

参数

参数

描述

report

网络分析的结果。

start 方法

描述

开始玩家自助网络分析。自助网络分析完成后,会触发通过 DiagnosisCompleteCallback 委托注册的回调。

定义

public interface IDiagnosisRequest
    {

        void Start(DiagnosisCompleteCallback callback);

        ...

    }

参数

参数

描述

callback

DiagnosisCompleteCallback 委托注册的回调。

SetUserExtraInfo 方法

描述

辅助描述信息。该信息会记录在分析报告里的 user_extra_info 字段。

定义

public interface IDiagnosisRequest
    {
        void SetUserExtraInfo(string userExtraInfo);

        ...
    }

参数

参数

描述

extraInfo

辅助描述信息,例如玩家 ID 等信息。如果不需要辅助描述信息,可以填 null。

Cancel 方法

描述

取消玩家自助网络分析。调用该方法会触发通过 DiagnosisCompleteCallback 委托注册的回调。

定义

public interface IDiagnosisRequest
    {

        void Cancel();

        ...

    }

游戏对局网络分析

命名空间: GNASDK

MonitorBegin 方法 [1/2]

说明

该方法已废弃。推荐您使用 void MonitorBegin(string target, string extraInfo) 方法。

描述

开始游戏对局网络分析。当玩家网络发生跳变时,SDK 会对从玩家客户端到您设置的目标地址之间的网络进行分析。

定义

public interface IGameNetDiagnosisService
    {
        void MonitorBegin(string target, string extraInfo);
        
        ...
    }

参数

参数

描述

target

网络分析的目标地址,支持域名或 IPv4 地址。

extraInfo

辅助描述信息,例如玩家 ID 等信息。如果不需要辅助描述信息,可以填 null。

MonitorBegin 方法 [2/2]

描述

开始游戏对局网络分析。当玩家网络发生跳变时,SDK 会对从玩家客户端到您设置的目标地址之间的网络进行分析。

定义

public interface IGameNetDiagnosisService
    {
        void MonitorBegin(MonitorBeginParams beginParams);
        
        ...
    }

参数

参数

描述

beginParams

参见 MonitorBeginParams 类

MonitorBeginParams 类

描述

游戏对局网络分析参数。

定义

public class MonitorBeginParams
    {
        public string Target;
        
        public string DispatchFeature;
        
        public string ExtraInfo;
    }

参数

参数

描述

Target

网络分析的目标地址,支持域名或 IPv4 地址。

DispatchFeature

地址特征,用于网络分析的地址调度功能。
如果您不需要使用地址调度功能,可设置为 ""

ExtraInfo

辅助描述信息,例如玩家 ID 等信息。如果不需要辅助描述信息,可以填 null。

DoDiagnosisDuringGaming 方法

描述

在游戏对局中,手动对从玩家客户端到您在 MonitorBegin 方法中设置的目标地址之间的网络进行分析。

定义

public interface IGameNetDiagnosisService
    {
        void DoDiagnosisDuringGaming(string extraMessage);

        ...
    }

参数

参数

描述

extraMessage

辅助描述信息,例如玩家 ID 等信息。如果不需要辅助描述信息,可以填 null。

MonitorEnd 方法

描述

结束游戏对局网络分析。

定义

public interface IGameNetDiagnosisService
    {

        void MonitorEnd(string extraInfo);

        ...

    }

参数

参数

描述

extraInfo

辅助描述信息,例如玩家 ID 等信息。如果不需要辅助描述信息,可以填 null。

网络加速

命名空间: GNASDK

MpaEventHandler 委托

描述

用于注册开始和关闭网络加速的回调。

定义

public delegate void MpaEventHandler(bool isSuccess, string extraMsg);

参数

对于调用 Init 方法后触发的回调,参数如下:

参数

说明

isSuccess

初始化操作是否成功。

  • true:初始化操作成功。
  • false:初始化操作失败。

extraMsg

成功或失败的原因。

  • "Init Success":初始化成功。
  • "TTMpaClient Init Failed":初始化失败。您需要联系技术支持。
  • "Hook Init Failed":初始化失败。您需要联系技术支持。

对于调用 Stop 方法后触发的回调,参数如下:

参数

说明

isSuccess

加速是否完成。

  • true:因为您调用了 Stop 停止加速。
  • false:因为发生内部错误导致加速中止。

extraMsg

错误码。

MpaSetAddressHandler 委托

描述

用于注册报告加速目标地址的设置结果的回调。

定义

public delegate void MpaSetAddressHandler(bool isSuccess, string extraMsg, string context);

参数

参数

说明

isSuccess

调用 SetAccAddress 设置加速目标地址列表的操作是否成功。

  • true:操作成功。
  • false:操作失败。

extraMsg

成功或失败的原因。

  • "SetAccAddress Success":设置成功。
  • "Not Init Mpa":设置失败。您在双通道加速功能初始化之前调用了 setAccAddress

context

调用 SetAccAddress 方法时传入的 context 参数。

MpaInitEvent 事件

描述

调用 Init 方法后触发。

定义

public interface INetMpaService
    {
        event MpaEventHandler MpaInitEvent;

        ...
    }

MpaSetAccAddressEvent 事件

描述

调用 SetAccAddress 方法后触发。

public interface INetMpaService
    {

        event MpaSetAddressHandler MpaSetAccAddressEvent;

        ...

    }

MpaStopEvent 事件

描述

调用 Stop 方法后触发。

定义

public interface INetMpaService
    {

        event MpaEventHandler MpaStopEvent;

        ...
  
    }

Init 方法

描述

初始化网络加速功能。调用该方法会触发 MpaInitEvent 事件注册的回调。

定义

public interface INetMpaService
    {
        void Init();

        ...

    }

Start 方法

描述

开始网络加速。

定义

public interface INetMpaService
    {

        void Start(string beginLog);

        ...

    }

参数

参数

说明

beginLog

自定义信息。例如统计埋点。加速结束时,GNA SDK 会将该自定义信息作为日志上报。

SetAccAddress 方法 [1/2]

说明

该方法已废弃。推荐您使用 void SetAccAddress(AcceleratedPointsParams pointsParams) 方法。

描述

设置需要加速的目标地址列表。调用该方法会触发 MpaSetAccAddressEvent 事件注册的回调。

定义

public interface INetMpaService
    {

        void SetAccAddress(List<string> addressList, string context, bool append);

        ...

    }

参数

参数

说明

address

需要加速的目标地址列表,每个地址为 ip:port 格式,例如 1.1.1.1:8080

context

上下文信息。您可以使用该参数将异步返回结果与方法调用关联起来。

append

是否增量设置加速地址。

  • true:增量设置加速地址。
  • false:全量设置加速地址。

SetAccAddress 方法 [2/2]

描述

设置需要加速的目标地址列表。调用该方法会触发 MpaSetAccAddressEvent 事件注册的回调。

定义

public interface INetMpaService
    {

        void SetAccAddress(AcceleratedPointsParams pointsParams);

        ...

    }

参数

参数

说明

pointsParams

参见 AcceleratedPointsParams 类

AcceleratedPointsParams 类

描述

网络加速参数。

定义

public class AcceleratedPointsParams
    {
        public List<string> AddressList;
            
        public SocketType SocketType = SocketType.Unspecified;
            
        public bool Append;
            
        public string Context;
    }

参数

参数

说明

AddressList

需要加速的目标地址列表,每个地址为 ip:port 格式,例如 1.1.1.1:8080

SocketType

游戏客户端与游戏服务端之间的传输协议:

  • (默认)Unspecified:(-1)未指定。
  • Udp:(0)UDP 协议。
  • Tcp:(1)TCP 协议。

Append

是否增量设置加速地址。

  • true:增量设置加速地址。
  • false:全量设置加速地址。

Context

上下文信息。您可以使用该参数将异步返回结果与方法调用关联起来。

ReportUserLog 方法

描述

上报用户日志。

定义

public interface INetMpaService
    {    
        void ReportUserLog(string userLog);

        ...
    }

参数

参数

说明

userLog

自定义信息。例如业务的统计埋点。加速结束时,GNA SDK 会将该自定义信息作为日志上报。

Stop 方法

描述

停止网络加速。调用该方法会触发 MpaStopEvent 事件注册的回调。

定义

public interface INetMpaService
    {

        void Stop(string endLog);

        ...

    }

参数

参数

说明

endLog

自定义信息。例如业务的统计埋点。加速结束时,GNA SDK 会将该自定义信息作为日志上报。