本文档介绍 GNA Unity SDK 的参考信息。
命名空间: GNASDK
包含 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。您需要在 |
SetDeviceId | 设置标识某一台设备的唯一 ID。您需要在 |
SetSecret | 设置 SDK 鉴权值。您需要在 |
SetEnableVerbose | 设置是否开启 verbose 级别的日志。
|
Init | 初始化 GNA SDK。该方法是异步的。您需要分别在 |
日志监控委托。您可以通过该委托查看事件类型和日志。
public delegate void GnaMonitorCallback(string log, string eventType);
参数 | 描述 |
---|---|
log | 日志。 |
eventType | 事件类型。 |
初始化结果委托。您可以通过该委托查看初始化结果。
public delegate void GnaInitEndCallback(bool initSuccess, string errorMsg);
参数 | 描述 |
---|---|
initSuccess | 初始化是否成功。
|
errorMsg | 错误信息。 |
命名空间: GNASDK
说明
该方法已废弃。推荐您使用 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 | 请求类型。你必须设置为 |
target | 网络分析的目标地址。可以是域名或 IPv4 地址。 |
detectType | 网络分析使用的请求类型。建议您设置为 0。 |
multiNetAction | 网络分析所适用的网络类型。建议您设置为 0。 |
timeout | 网络分析使用的请求的超时时间(毫秒)。如果网络分析超时,会触发 |
IDiagnosisRequest
对象。
创建玩家自助网络分析请求。
IDiagnosisRequest CreateDiagnosisRequest(RequestParams requestParams);
参数 | 说明 |
---|---|
requestParams | 参见 RequestParams 类。 |
IDiagnosisRequest
对象。
网络分析请求参数。
public class RequestParams { public GnaExpRequestType RequestType; public List<string> Targets; public string DispatchFeature; public GnaExpNetDetectType DetectType; public GnaExpMultiNetAction MultiNetAction; public int Timeout; }
参数 | 说明 |
---|---|
RequestType | 请求类型。你必须设置为 |
Targets | 网络分析的目标地址。可以是域名或 IPv4 地址。目前您只能传入一个目标地址。 |
DispatchFeature | 地址特征,用于网络分析的地址调度功能。 |
DetectType | 网络分析使用的请求类型。建议您设置为 0。 |
MultiNetAction | 网络分析所适用的网络类型。建议您设置为 0。 |
Timeout | 网络分析使用的请求的超时时间(毫秒)。如果网络分析超时,会触发 |
报告网络分析的结果。您需要实现该回调并在调用 CreateDiagnosisRequest
方法时传入该回调。当网络分析完成、被取消、因网络切换中止、超时或失败时,SDK 都会通过该回调返回结果。
public interface IDiagnosisRequest { delegate void DiagnosisCompleteCallback(string report); ... }
参数 | 描述 |
---|---|
report | 网络分析的结果。 |
开始玩家自助网络分析。自助网络分析完成后,会触发通过 DiagnosisCompleteCallback
委托注册的回调。
public interface IDiagnosisRequest { void Start(DiagnosisCompleteCallback callback); ... }
参数 | 描述 |
---|---|
callback | 由 |
辅助描述信息。该信息会记录在分析报告里的 user_extra_info
字段。
public interface IDiagnosisRequest { void SetUserExtraInfo(string userExtraInfo); ... }
参数 | 描述 |
---|---|
extraInfo | 辅助描述信息,例如玩家 ID 等信息。如果不需要辅助描述信息,可以填 null。 |
取消玩家自助网络分析。调用该方法会触发通过 DiagnosisCompleteCallback
委托注册的回调。
public interface IDiagnosisRequest { void Cancel(); ... }
命名空间: GNASDK
说明
该方法已废弃。推荐您使用 void MonitorBegin(string target, string extraInfo)
方法。
开始游戏对局网络分析。当玩家网络发生跳变时,SDK 会对从玩家客户端到您设置的目标地址之间的网络进行分析。
public interface IGameNetDiagnosisService { void MonitorBegin(string target, string extraInfo); ... }
参数 | 描述 |
---|---|
target | 网络分析的目标地址,支持域名或 IPv4 地址。 |
extraInfo | 辅助描述信息,例如玩家 ID 等信息。如果不需要辅助描述信息,可以填 null。 |
开始游戏对局网络分析。当玩家网络发生跳变时,SDK 会对从玩家客户端到您设置的目标地址之间的网络进行分析。
public interface IGameNetDiagnosisService { void MonitorBegin(MonitorBeginParams beginParams); ... }
参数 | 描述 |
---|---|
beginParams |
游戏对局网络分析参数。
public class MonitorBeginParams { public string Target; public string DispatchFeature; public string ExtraInfo; }
参数 | 描述 |
---|---|
Target | 网络分析的目标地址,支持域名或 IPv4 地址。 |
DispatchFeature | 地址特征,用于网络分析的地址调度功能。 |
ExtraInfo | 辅助描述信息,例如玩家 ID 等信息。如果不需要辅助描述信息,可以填 null。 |
在游戏对局中,手动对从玩家客户端到您在 MonitorBegin
方法中设置的目标地址之间的网络进行分析。
public interface IGameNetDiagnosisService { void DoDiagnosisDuringGaming(string extraMessage); ... }
参数 | 描述 |
---|---|
extraMessage | 辅助描述信息,例如玩家 ID 等信息。如果不需要辅助描述信息,可以填 null。 |
结束游戏对局网络分析。
public interface IGameNetDiagnosisService { void MonitorEnd(string extraInfo); ... }
参数 | 描述 |
---|---|
extraInfo | 辅助描述信息,例如玩家 ID 等信息。如果不需要辅助描述信息,可以填 null。 |
命名空间: GNASDK
用于注册开始和关闭网络加速的回调。
public delegate void MpaEventHandler(bool isSuccess, string extraMsg);
对于调用 Init
方法后触发的回调,参数如下:
参数 | 说明 |
---|---|
isSuccess | 初始化操作是否成功。
|
extraMsg | 成功或失败的原因。
|
对于调用 Stop
方法后触发的回调,参数如下:
参数 | 说明 |
---|---|
isSuccess | 加速是否完成。
|
extraMsg | 错误码。 |
用于注册报告加速目标地址的设置结果的回调。
public delegate void MpaSetAddressHandler(bool isSuccess, string extraMsg, string context);
参数 | 说明 |
---|---|
isSuccess | 调用
|
extraMsg | 成功或失败的原因。
|
context | 调用 |
调用 Init
方法后触发。
public interface INetMpaService { event MpaEventHandler MpaInitEvent; ... }
调用 SetAccAddress
方法后触发。
public interface INetMpaService { event MpaSetAddressHandler MpaSetAccAddressEvent; ... }
调用 Stop
方法后触发。
public interface INetMpaService { event MpaEventHandler MpaStopEvent; ... }
初始化网络加速功能。调用该方法会触发 MpaInitEvent
事件注册的回调。
public interface INetMpaService { void Init(); ... }
开始网络加速。
public interface INetMpaService { void Start(string beginLog); ... }
参数 | 说明 |
---|---|
beginLog | 自定义信息。例如统计埋点。加速结束时,GNA SDK 会将该自定义信息作为日志上报。 |
说明
该方法已废弃。推荐您使用 void SetAccAddress(AcceleratedPointsParams pointsParams)
方法。
设置需要加速的目标地址列表。调用该方法会触发 MpaSetAccAddressEvent
事件注册的回调。
public interface INetMpaService { void SetAccAddress(List<string> addressList, string context, bool append); ... }
参数 | 说明 |
---|---|
address | 需要加速的目标地址列表,每个地址为 |
context | 上下文信息。您可以使用该参数将异步返回结果与方法调用关联起来。 |
append | 是否增量设置加速地址。
|
设置需要加速的目标地址列表。调用该方法会触发 MpaSetAccAddressEvent
事件注册的回调。
public interface INetMpaService { void SetAccAddress(AcceleratedPointsParams pointsParams); ... }
参数 | 说明 |
---|---|
pointsParams |
网络加速参数。
public class AcceleratedPointsParams { public List<string> AddressList; public SocketType SocketType = SocketType.Unspecified; public bool Append; public string Context; }
参数 | 说明 |
---|---|
AddressList | 需要加速的目标地址列表,每个地址为 |
SocketType | 游戏客户端与游戏服务端之间的传输协议:
|
Append | 是否增量设置加速地址。
|
Context | 上下文信息。您可以使用该参数将异步返回结果与方法调用关联起来。 |
上报用户日志。
public interface INetMpaService { void ReportUserLog(string userLog); ... }
参数 | 说明 |
---|---|
userLog | 自定义信息。例如业务的统计埋点。加速结束时,GNA SDK 会将该自定义信息作为日志上报。 |
停止网络加速。调用该方法会触发 MpaStopEvent
事件注册的回调。
public interface INetMpaService { void Stop(string endLog); ... }
参数 | 说明 |
---|---|
endLog | 自定义信息。例如业务的统计埋点。加速结束时,GNA SDK 会将该自定义信息作为日志上报。 |