初始化
业务场景
游戏启动即调用,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:
参数名称 | 类型 | 说明 | 备注 |
---|---|---|---|
appId | String | SDK侧提供的AppId | 必传 |
signKey | String | SDK侧提供的SignKey | 必传 |
packetId | String | SDK侧提供的PacketId | 必传 |
isLandscape | boolean | 游戏横竖版标识: true横版, false竖版 | 可选 |
channelId | String | SDK侧提供的channelId,默认传"" | 可选 |
gameVersion | String | 游戏的版本号,固定传"1.0.0" | 可选 |
packageName | String | 游戏包名,默认传@"" | 可选 |
【出参】
InitData:
参数名称 | 类型 | 说明 |
---|---|---|
appId | String | 游戏包中SDK实际使用的appId |
areaId | String | 游戏大区Id(使用场景:先锋服) |
channelId | String | 游戏包中SDK实际使用的渠道Id |
privacyUrl | String | 隐私协议url |
userAgreementUrl | String | 用户协议url |
auditType | int | 0:上线状态; 1:审核状态 |
userIPArea | int | 用户协议URL,返回@"" |
错误码
错误码 | 说明 |
---|---|
-100000 | 网络不可用,请检查网络 |
-100006 | 参数错误,请检查初始化参数 |
-100021 | 参数错误或不全,请检查初始化参数 |
FAQ
Q: 游戏是否需要等初始化成功通知后,再继续执行游戏流程?
A: SDK 内部数据会依赖初始化成功的数据,所以建议游戏在初始化成功通知后,再继续后续的流程。
Q: 游戏调用初始化API时,提示“游戏版本不存在”,如何处理?
A: 请将游戏apk的版本号(VersionName)告知我方技术或运营,我方后台需配置对应的版本号。