初始化

业务场景

游戏启动即调用,SDK 会完成内部的激活和初始化相关的配置

注意事项

  • 游戏版本强制更新的注意点:
    当 CP 需要对游戏进行强制更新时(即用户只能进新版本游戏包),必须使用 SDK 的更新机制。请提前通知我方运营团队,由运营团队在 SDK 后台配置相应的更新内容。请勿启用游戏自身的强制更新功能,以免影响游戏用户数据以及用户归因。

  • 初始化接口调用顺序注意点:
    其他接口(如无特殊说明)调用都必须在 SDK 初始化成功后,才能调用。
    调用初始化接口前务必先调用生命周期中的onCreate接口,否则可能会出现问题。
    初始化接口不能重复调用,否则会导致数据埋点异常,影响用户数据的统计。

  • SDK初始化时提示“游戏版本不存在”,麻烦把版本号发给我方运营,让我方运营在SDK后台添加版本号方可初始化成功。

流程图

接口介绍

/**
 * 初始化SDK
 *
 * @param activity Android上下文
 * @param config   初始化参数
 * @param callback 初始化回调
 */
void init(Activity activity, InitConfig config, InitCallback callback);

调用示例

// FIXME IyaGame_Doc: SDK初始化接口, 必接, 回调时SDK会切换到主线程
InitConfig initConfig = new InitConfig();
        initConfig.setAppId(APP_ID);        // SDK侧提供的appId
        initConfig.setSignKey(SIGN_KEY);    // SDK侧提供的signKey
        initConfig.setPacketId(PACKET_ID);  // SDK侧提供的packetId
        initConfig.setLandscape(false);     // 当前游戏是否横屏,按游戏实际情况传入  横屏游戏 - true  竖屏游戏 - false
        initConfig.setChannelId("");        // SDK侧提供的channelId, 传空即可
        initConfig.setPackageName("");      // 游戏的版本号,默认传""
        initConfig.setGameVersion("");      // 游戏的包名, 默认传""
SDKManager.getInstance().init(this, config, new InitCallback() {
    @Override
    public void onInitSuccess(InitData initData) {
        // 初始化成功
    }

    @Override
    public void onInitFailed(ErrorInfo error) {
        // 初始化失败, error: 失败信息
        int errorCode = error.getErrorCode();  // 错误码
        String errorMsg = error.getErrorMsg(); // 错误信息
        // 游戏需要尝试间隔2秒重试总共3次,若未成功则提示玩家重启游戏
    }
});

参数说明

【入参】

InitConfig:

参数名称类型说明备注
appIdStringSDK侧提供的AppId必传
signKeyStringSDK侧提供的SignKey必传
packetIdStringSDK侧提供的PacketId必传
isLandscapeboolean游戏横竖版标识: true横版, false竖版可选
channelIdStringSDK侧提供的channelId,默认传""可选
gameVersionString游戏的版本号,固定传"1.0.0"可选
packageNameString游戏包名,默认传@""可选

【出参】

InitData:

参数名称类型说明
appIdString游戏包中SDK实际使用的appId
areaIdString游戏大区Id(使用场景:先锋服)
channelIdString游戏包中SDK实际使用的渠道Id
privacyUrlString隐私协议url
userAgreementUrlString用户协议url
auditTypeint0:上线状态; 1:审核状态
userIPAreaint用户协议URL,返回@""

错误码

错误码说明
-100000网络不可用,请检查网络
-100006参数错误,请检查初始化参数
-100021参数错误或不全,请检查初始化参数

FAQ

Q: 游戏是否需要等初始化成功通知后,再继续执行游戏流程?

A: SDK 内部数据会依赖初始化成功的数据,所以建议游戏在初始化成功通知后,再继续后续的流程。

Q: 游戏调用初始化API时,提示“游戏版本不存在”,如何处理?

A: 请将游戏apk的版本号(VersionName)告知我方技术或运营,我方后台需配置对应的版本号。