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

Android SDK 参考

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

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

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

SDK 初始化

Package: org.chromium.gsdk.engine.GameSdkAbsAdapter

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 级别的日志。

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

getDeviceId

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

getAppId

标识您的 App 的唯一 ID。您需要从 GNA 控制台获取 App ID。您可以参见 获取 App ID 和 SDK 鉴权值 了解获取方法。

getSecret

SDK 鉴权值。您需要从 GNA 控制台获取 SDK 鉴权值。您可以参见 获取 App ID 和 SDK 鉴权值 了解获取方法。

sendAppMonitorEvent

该方法无实际意义。

IDiagnosisCallback 接口

描述

网络分析的结果。

定义

public interface IDiagnosisCallback {
    void onDiagnosisComplete(String report);
}

成员方法

成员方法

描述

onDiagnosisComplete

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

tryInitGameSdk 方法

描述

初始化 GNA SDK。该方法是异步的。目前 Android SDK 暂未提供初始化成功的回调。建议您尽早开始初始化。例如,您可以在 App 冷启动时开始初始化。

定义

public class GameSdkClient {
   public static boolean tryInitGameSdk(GameSdkAbsAdapter adapter);
}

参数

参数

说明

adapter

您实现的 GameSdkAbsAdapter 对象。

玩家自助网络分析

Package:

  • com.bytedance.gsdk.ttnet.diagnosis.IDiagnosisCallback
  • com.bytedance.gsdk.ttnet.diagnosis.IDiagnosisRequest
  • com.bytedance.gsdk.ttnet.diagnosis.TTNetDiagnosisService

createRequest 方法 [1/2]

描述

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

说明

该方法已废弃。推荐您使用新增的 createRequest(TTNetDiagnosisService.RequestParams params) 方法。

定义

public static IDiagnosisRequest createRequest(int reqType, String target, int netDetectType, int multiNetAction, int timeout);

参数

参数

说明

reqType

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

target

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

netDetectType

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

multiNetAction

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

timeout

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

返回值

IDiagnosisRequest 对象。
如果参数不合法,该方法会抛出异常。

createRequest 方法 [2/2]

描述

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

定义

public static IDiagnosisRequest createRequest(TTNetDiagnosisService.RequestParams params);

参数

参数

说明

params

参见 RequestParams 类

返回值

IDiagnosisRequest 对象。
如果参数不合法,该方法会抛出异常。

RequestParams 类

描述

自助网络分析请求的请求参数。

定义

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

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

targets

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

dispatchFeature

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

detectType

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

multiNetAction

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

timeoutMs

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

start 方法

描述

开始玩家自助网络分析。自助网络分析完成后,会触发 onDiagnosisComplete 回调。

定义

public void start(IDiagnosisCallback callback);

参数

参数

说明

callback

参见 IDiagnosisCallback 接口

setUserExtraInfo 方法

描述

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

定义

void setUserExtraInfo(String extraInfo);

参数

参数

描述

extraInfo

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

cancel 方法

描述

取消玩家自助网络分析。调用该方法会触发 onDiagnosisComplete 回调。

定义

public void cancel();

游戏对局网络分析

Package:com.bytedance.gsdk.ttnet.diagnosis.TTGameDiagnosisService

monitorBegin 方法 [1/2]

说明

该方法已废弃。推荐您使用新增的 monitorBegin(TTGameDiagnosisService.MonitorBeginParams beginParams) 方法。

描述

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

定义

public void monitorBegin(String target, String extraInfo) throws Exception

参数

参数

描述

target

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

extraInfo

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

monitorBegin 方法 [2/2]

描述

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

定义

public void monitorBegin(TTGameDiagnosisService.MonitorBeginParams beginParams)

参数

参数

描述

beginParams

参见 MonitorBeginParams 类

MonitorBeginParams 类

描述

游戏对局网络分析的参数。

定义

public static class MonitorBeginParams {
    public String target;
    public String dispatchFeature;
    public String extraInfo;
    public IDiagnosisCallback reportCallback;
}

参数

参数

说明

target

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

dispatchFeature

您可设置为 ""

extraInfo

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

reportCallback

参见 IDiagnosisCallback 接口

doDiagnosisDuringGaming 方法

描述

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

定义

public void doDiagnosisDuringGaming(String extraMessage)

参数

参数

描述

extraMessage

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

monitorEnd 方法

描述

结束游戏对局网络分析。

定义

public void monitorEnd(String extraInfo)

网络加速

Package:

  • com.bytedance.gsdk.ttnet.mpa.TTNetMpaService
  • com.bytedance.gsdk.frameworks.baselib.network.http.cronet.mpa.IMpaService

registerCallbacks 方法

描述

注册网络加速所需的回调。

定义

public void registerCallbacks(IMpaService.ICallback initCallback,
                              IMpaService.ISetAddressCallback setAddressCallback,
                              IMpaService.ICallback stopCallback);

参数

参数

说明

initCallback

调用 init 方法后触发的回调,用于报告初始化是否成功。

setAddressCallback

调用 setAccAddress 方法后触发的回调,用于报告加速目标地址的设置结果。

stopCallback

调用 stop 方法后触发的回调,用于报告加速是否成功。

注意

不要在回调函数中执行耗时操作。在回调函数中执行耗时操作会阻塞 GNA SDK 的内部线程。

ICallback 接口

描述

该接口可用于实现以下回调:

  • 调用 init 方法后触发的回调,用于报告初始化是否成功。该回调需要传入 registerCallbacks 方法的 initCallback 参数。
  • 调用 stop 方法后触发的回调,用于报告加速是否成功。该回调需要传入 registerCallbacks 方法的 stopCallback 参数。

定义

public interface IMpaService {
    interface ICallback {
        void onFinish(boolean isSuccess, String extraMsg);
    }
}

参数

调用 init 方法后触发的回调,参数如下:

参数

说明

isSuccess

初始化操作是否成功。

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

extraMsg

成功或失败的原因。

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

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

参数

说明

isSuccess

加速是否完成。

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

extraMsg

错误码。

setAddressCallback 接口

描述

调用 stop 方法后触发的回调,用于报告加速是否成功。该回调需要传入 registerCallbacks 方法的 stopCallback 参数。

定义

public interface IMpaService {
    interface ISetAddressCallback {
        void onFinish(boolean isSuccess, String extraMsg, String context);
    }
}

参数

参数

说明

isSuccess

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

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

extraMsg

成功或失败的原因。

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

context

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

init 方法

描述

初始化网络加速功能。调用该方法会触发 registerCallbacks 方法的 initCallback 参数中设置的回调。

定义

public void init();

enableWiseMultiPath 方法

描述

开启或关闭智能双通道加速。如果您不调用该方法,SDK 默认关闭智能加速。

定义

public void enableWiseMultiPath(boolean enable);

参数

参数

说明

enable

是否开启智能加速。

  • true:开启。SDK 只会在 WiFi 网络连接质量降低时开启加速。在这种模式下,App 耗费的流量和电量会更少。
  • false:关闭。SDK 会在您调用 start 时立即开启加速。在这种模式下,SDK 的加速效果最好,但 app 耗费的流量和电量也会更多。

start 方法

描述

开始网络加速。

定义

public void start(String userLog);

参数

参数

说明

userLog

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

setAccAddress 方法 [1/2]

说明

该方法已废弃。推荐您使用新增的 setAccAddress(TTNetMpaService.AcceleratedPointsParams params) 方法。

描述

设置需要加速的目标地址列表。调用该方法会触发 registerCallbacks 方法的 setAddressCallback 参数中设置的回调。

定义

void setAccAddress(List<String> address, String context, boolean append);

参数

参数

说明

address

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

context

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

append

是否增量设置加速地址。

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

setAccAddress 方法 [2/2]

描述

设置需要加速的目标地址列表。调用该方法会触发 registerCallbacks 方法的 setAddressCallback 参数中设置的回调。

定义

void setAccAddress(TTNetMpaService.AcceleratedPointsParams params)

参数

参数

说明

params

参见 AcceleratedPointsParams

AcceleratedPointsParams 类

描述

目标地址列表参数。

定义

public static class AcceleratedPointsParams {
    public List<String> addressList;
    public TTNetMpaService.SocketType socketType;
    public boolean 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 方法

描述

上报用户日志。

定义

void reportUserLog(String userLog);

参数

参数

说明

userLog

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

Stop 方法

描述

停止网络加速。调用该方法会触发 registerCallbacks 方法的 stopCallback 参数中设置的回调。

定义

void stop(String endLog);

参数

参数

说明

endLog

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