本文档介绍 GNA Android SDK 的参考信息。
Package: org.chromium.gsdk.engine.GameSdkAbsAdapter
SDK 初始化所需的参数。您需要在返回值中传入参数。
public abstract class GameSdkAbsAdapter { private final Context mContext; public GameSdkAbsAdapter(Context context) { this.mContext = context; } public Context getContext() { return this.mContext; } public boolean enableVerboseLog() { return false; } public int getLogLevel() { return -1; } public abstract String getDeviceId(); public abstract String getAppId(); public abstract String getSecret(); public void sendAppMonitorEvent(String event, String log) { } }
成员方法 | 描述 |
---|---|
enableVerboseLog | 是否开启 verbose 级别的日志。
|
getDeviceId | 标识某一台设备的唯一 ID。仅支持除 0 之外的阿拉伯数字。您需要自行设置和管理 Device ID。建议您复用 App 中已有的用于标识用户设备的 ID。 |
getAppId | 标识您的 App 的唯一 ID。您需要从 GNA 控制台获取 App ID。您可以参见 获取 App ID 和 SDK 鉴权值 了解获取方法。 |
getSecret | SDK 鉴权值。您需要从 GNA 控制台获取 SDK 鉴权值。您可以参见 获取 App ID 和 SDK 鉴权值 了解获取方法。 |
sendAppMonitorEvent | 该方法无实际意义。 |
网络分析的结果。
public interface IDiagnosisCallback { void onDiagnosisComplete(String report); }
成员方法 | 描述 |
---|---|
onDiagnosisComplete | 您需要实现该回调并在调用 |
初始化 GNA SDK。该方法是异步的。目前 Android SDK 暂未提供初始化成功的回调。建议您尽早开始初始化。例如,您可以在 App 冷启动时开始初始化。
public class GameSdkClient { public static boolean tryInitGameSdk(GameSdkAbsAdapter adapter); }
参数 | 说明 |
---|---|
adapter | 您实现的 |
Package:
com.bytedance.gsdk.ttnet.diagnosis.IDiagnosisCallback
com.bytedance.gsdk.ttnet.diagnosis.IDiagnosisRequest
com.bytedance.gsdk.ttnet.diagnosis.TTNetDiagnosisService
创建玩家自助网络分析请求。
说明
该方法已废弃。推荐您使用新增的 createRequest(TTNetDiagnosisService.RequestParams params)
方法。
public static IDiagnosisRequest createRequest(int reqType, String target, int netDetectType, int multiNetAction, int timeout);
参数 | 说明 |
---|---|
reqType | 请求类型。你必须设置为 |
target | 网络分析的目标地址。可以是域名或 IPv4 地址。 |
netDetectType | 网络分析使用的请求类型。建议您设置为 0。 |
multiNetAction | 网络分析所适用的网络类型。建议您设置为 0。 |
timeout | 网络分析使用的请求的超时时间(毫秒)。如果网络分析超时,会触发 |
IDiagnosisRequest
对象。
如果参数不合法,该方法会抛出异常。
创建玩家自助网络分析请求。
public static IDiagnosisRequest createRequest(TTNetDiagnosisService.RequestParams params);
参数 | 说明 |
---|---|
params | 参见 RequestParams 类。 |
IDiagnosisRequest
对象。
如果参数不合法,该方法会抛出异常。
自助网络分析请求的请求参数。
public static class RequestParams { public int requestType; public List<String> targets; public String dispatchFeature; public int detectType; public int multiNetAction; public int timeoutMs; public RequestParams() { } }
参数 | 说明 |
---|---|
requestType | 请求类型。你必须设置为 |
targets | 网络分析的目标地址。可以是域名或 IPv4 地址。目前,您只能传入一个目标地址。 |
dispatchFeature | 地址特征,用于网络分析的地址调度功能。 |
detectType | 网络分析使用的请求类型。建议您设置为 0。 |
multiNetAction | 网络分析所适用的网络类型。建议您设置为 0。 |
timeoutMs | 网络分析使用的请求的超时时间(毫秒)。如果网络分析超时,会触发 |
开始玩家自助网络分析。自助网络分析完成后,会触发 onDiagnosisComplete
回调。
public void start(IDiagnosisCallback callback);
参数 | 说明 |
---|---|
callback |
辅助描述信息,会记录在分析报告里的 user_extra_info
字段。
void setUserExtraInfo(String extraInfo);
参数 | 描述 |
---|---|
extraInfo | 辅助描述信息,例如玩家 ID 等信息。如果不需要辅助描述信息,可以填 null。 |
取消玩家自助网络分析。调用该方法会触发 onDiagnosisComplete
回调。
public void cancel();
Package:com.bytedance.gsdk.ttnet.diagnosis.TTGameDiagnosisService
说明
该方法已废弃。推荐您使用新增的 monitorBegin(TTGameDiagnosisService.MonitorBeginParams beginParams)
方法。
开始游戏对局网络分析。当玩家网络发生跳变时,SDK 会对从玩家客户端到您设置的目标地址之间的网络进行分析。
public void monitorBegin(String target, String extraInfo) throws Exception
参数 | 描述 |
---|---|
target | 网络分析的目标地址,支持域名或 IPv4 地址。 |
extraInfo | 辅助描述信息,例如玩家 ID 等信息。如果不需要辅助描述信息,可以填 null。 |
开始游戏对局网络分析。当玩家网络发生跳变时,SDK 会对从玩家客户端到您设置的目标地址之间的网络进行分析。
public void monitorBegin(TTGameDiagnosisService.MonitorBeginParams beginParams)
参数 | 描述 |
---|---|
beginParams |
游戏对局网络分析的参数。
public static class MonitorBeginParams { public String target; public String dispatchFeature; public String extraInfo; public IDiagnosisCallback reportCallback; }
参数 | 说明 |
---|---|
target | 网络分析的目标地址,支持域名或 IPv4 地址。 |
dispatchFeature | 您可设置为 |
extraInfo | 辅助描述信息,例如玩家 ID 等信息。如果不需要辅助描述信息,可以填 null。 |
reportCallback |
在游戏对局中,手动对从玩家客户端到您在 monitorBegin
方法中设置的目标地址之间的网络进行分析。
public void doDiagnosisDuringGaming(String extraMessage)
参数 | 描述 |
---|---|
extraMessage | 辅助描述信息,例如玩家 ID 等信息。如果不需要辅助描述信息,可以填 null。 |
结束游戏对局网络分析。
public void monitorEnd(String extraInfo)
Package:
com.bytedance.gsdk.ttnet.mpa.TTNetMpaService
com.bytedance.gsdk.frameworks.baselib.network.http.cronet.mpa.IMpaService
注册网络加速所需的回调。
public void registerCallbacks(IMpaService.ICallback initCallback, IMpaService.ISetAddressCallback setAddressCallback, IMpaService.ICallback stopCallback);
参数 | 说明 |
---|---|
initCallback | 调用 |
setAddressCallback | 调用 |
stopCallback | 调用 |
注意
不要在回调函数中执行耗时操作。在回调函数中执行耗时操作会阻塞 GNA SDK 的内部线程。
该接口可用于实现以下回调:
init
方法后触发的回调,用于报告初始化是否成功。该回调需要传入 registerCallbacks
方法的 initCallback
参数。stop
方法后触发的回调,用于报告加速是否成功。该回调需要传入 registerCallbacks
方法的 stopCallback
参数。public interface IMpaService { interface ICallback { void onFinish(boolean isSuccess, String extraMsg); } }
调用 init
方法后触发的回调,参数如下:
参数 | 说明 |
---|---|
isSuccess | 初始化操作是否成功。
|
extraMsg | 成功或失败的原因。
|
对于调用 stop
方法后触发的回调,参数如下:
参数 | 说明 |
---|---|
isSuccess | 加速是否完成。
|
extraMsg | 错误码。 |
调用 stop
方法后触发的回调,用于报告加速是否成功。该回调需要传入 registerCallbacks
方法的 stopCallback
参数。
public interface IMpaService { interface ISetAddressCallback { void onFinish(boolean isSuccess, String extraMsg, String context); } }
参数 | 说明 |
---|---|
isSuccess | 调用
|
extraMsg | 成功或失败的原因。
|
context | 调用 |
初始化网络加速功能。调用该方法会触发 registerCallbacks
方法的 initCallback
参数中设置的回调。
public void init();
开启或关闭智能双通道加速。如果您不调用该方法,SDK 默认关闭智能加速。
public void enableWiseMultiPath(boolean enable);
参数 | 说明 |
---|---|
enable | 是否开启智能加速。
|
开始网络加速。
public void start(String userLog);
参数 | 说明 |
---|---|
userLog | 自定义信息。例如统计埋点。加速结束时,GNA SDK 会将该自定义信息作为日志上报。 |
说明
该方法已废弃。推荐您使用新增的 setAccAddress(TTNetMpaService.AcceleratedPointsParams params)
方法。
设置需要加速的目标地址列表。调用该方法会触发 registerCallbacks
方法的 setAddressCallback
参数中设置的回调。
void setAccAddress(List<String> address, String context, boolean append);
参数 | 说明 |
---|---|
address | 需要加速的目标地址列表,每个地址为 |
context | 上下文信息。您可以使用该参数将异步返回结果与方法调用关联起来。 |
append | 是否增量设置加速地址。
|
设置需要加速的目标地址列表。调用该方法会触发 registerCallbacks
方法的 setAddressCallback
参数中设置的回调。
void setAccAddress(TTNetMpaService.AcceleratedPointsParams params)
参数 | 说明 |
---|---|
params |
目标地址列表参数。
public static class AcceleratedPointsParams { public List<String> addressList; public TTNetMpaService.SocketType socketType; public boolean append; public String context; }
参数 | 说明 |
---|---|
addressList | 需要加速的目标地址列表,每个地址为 |
socketType | 游戏客户端与游戏服务端之间的传输协议:
|
append | 是否增量设置加速地址。
|
context | 上下文信息。您可以使用该参数将异步返回结果与方法调用关联起来。 |
上报用户日志。
void reportUserLog(String userLog);
参数 | 说明 |
---|---|
userLog | 自定义信息。例如业务的统计埋点。加速结束时,GNA SDK 会将该自定义信息作为日志上报。 |
停止网络加速。调用该方法会触发 registerCallbacks
方法的 stopCallback
参数中设置的回调。
void stop(String endLog);
参数 | 说明 |
---|---|
endLog | 自定义信息。例如业务的统计埋点。加速结束时,GNA SDK 会将该自定义信息作为日志上报。 |