版本 | 更新说明 | 日期 |
---|---|---|
V1.0.0.0 | 1.初始化存档,取档,档位列表三个功能 | 2021-12-24 |
1. SDK嵌入
-
SDK
下载完,将sdk包中的common.aar
和archives.aar
copy到您的游戏项目的libs目录下。 - 在工程的
build.gradle
文件下添加以下代码即可完成依赖,
android {
defaultConfig {
//方法数超过65536时,开启多dex的支持
multiDexEnabled true
}
}
repositories {
flatDir {
dirs 'libs'
}
}
dependencies {
//引入广告SDK依赖
implementation fileTree(dir: 'libs', include: ['*.jar','*.aar'])
}
然后同步下gradle即可。
2. 接入代码
2.1 GameArchivesDataBean数据实体类介绍
字段含义 | 字段名 | 是否可选 | 说明 |
---|---|---|---|
游戏ID | gameId | 必须 | 云存档云端为游戏存取档的唯一字符串。使用此 ID 来引用你游戏客户端中保存的游戏。 |
用户ID | userId | 必须 | 来自好游快爆防沉迷sdk或者支付sdk的登录成功后获取的HykbUser |
用户登陆类型 | loginType | 必须 | 来自好游快爆防沉迷sdk或者支付sdk的登录成功后获取的HykbUser |
用户token | token | 必须 | 来自好游快爆防沉迷sdk或者支付sdk的登录成功后获取的HykbUser |
档位ID | archivesId | 必须 | 游戏开发者提供的档位ID,必须是整数 |
档位标题 | archivesTitle | 必须 | 游戏开发者提供的存档标题,长度不超过 30 的字符串 |
档位内容 | archivesContent | 必须 | 游戏开发者提供的存档标题,内容大小不得超过1M |
档位时间 | updateTime | 自动 | 存档成功后,该字段由服务端自动生成 |
以上的字段内容,通过set设置值,比如setGameId("111")
, get 方式取值,比如getArchivesContent()
2.2 存档
接入示例:
GameArchivesDataBean dataBean = new GameArchivesDataBean();
dataBean.setGameId("游戏ID");
dataBean.setUserId("好游快爆用户ID");
dataBean.setLoginType("好游快爆登录类型");
dataBean.setToken("好游快爆登录的token");
dataBean.setArchivesId(11);//存档ID,整数,由开发者自己传
dataBean.setArchivesTitle("存档标题");
dataBean.setArchivesContent("存档内容");
HykbGameArchives.saveArchivesData(SaveArchivesActivity.this, dataBean, new HykbSaveArchivesListener() {
@Override
public void onSuccess() {
//存档成功
}
@Override
public void onFailed(int code, String message) {
//存档失败,失败的原因在code和message中
Log.i("archives","code = "+code+",message = "+message);
}
});
接口方法:
HykbGameArchives.saveArchivesData(Context context, GameArchivesDataBean bean, HykbSaveArchivesListener listener);
参数定义:
参数名称 | 描述 |
---|---|
context | 当前应用的ApplicationContext或Activity |
bean | GameArchivesDataBean:存档数据和参数的实体对象 |
listener | HykbSaveArchivesListener 存档回调监听 |
2.3 取档
接入示例:
GameArchivesDataBean dataBean = new GameArchivesDataBean();
dataBean.setGameId("游戏ID");
dataBean.setUserId("好游快爆用户ID");
dataBean.setLoginType("好游快爆登录类型");
dataBean.setToken("好游快爆登录的token");
dataBean.setArchivesId(11);//存档ID,整数,由开发者自己传
HykbGameArchives.readArchivesData(SaveArchivesActivity.this, dataBean, new HykbReadArchivesListener() {
@Override
public void onSuccess(GameArchivesDataBean dataBean) {
//取档成功
StringBuilder sb = new StringBuilder();
sb.append("存档ID:");
sb.append(dataBean.getArchivesId());
sb.append("\n");
sb.append("存档标题:");
sb.append(dataBean.getArchivesTitle());
sb.append("\n");
sb.append("存档内容:");
sb.append(dataBean.getArchivesContent());
Log.i("archive", sb.toString());
}
@Override
public void onFailed(int code, String message) {
// 取档失败,失败原因在code和message中
Log.i("archive","code = "+code+", message = "+message);
}
});
接口方法:
HykbGameArchives.readArchivesData(Context context, GameArchivesDataBean bean, HykbReadArchivesListener listener);
参数定义:
参数名称 | 描述 |
---|---|
context | 当前应用的ApplicationContext或Activity |
bean | GameArchivesDataBean:存档数据和参数的实体对象 |
listener | HykbReadArchivesListener 取档回调监听 |
2.4 获取档位列表
接入示例:
GameArchivesDataBean bean = new GameArchivesDataBean();
bean.setGameId(gameId);
bean.setUserId(user.getUserId());
bean.setLoginType(user.getType());
bean.setToken(user.getToken());
HykbGameArchives.loadAllArchivesData(ArchivesListActivity.this, bean, new HykbLoadArchivesListener() {
@Override
public void onSuccess(List<GameArchivesDataBean> dataBean) {
Log.i("archive","dataBean = "+dataBean.toString());
// 成功获取到档位列表数据
}
@Override
public void onFailed(int code, String message) {
// 获取档位列表失败,失败原因在code和message中
Log.i("archive","code = "+code+", message = "+message);
}
});
接口方法:
HykbGameArchives.loadAllArchivesData(Context context, GameArchivesDataBean bean, HykbLoadArchivesListener listener);
参数定义:
参数名称 | 描述 |
---|---|
context | 当前应用的ApplicationContext或Activity |
bean | GameArchivesDataBean:存档数据和参数的实体对象 |
listener | HykbLoadArchivesListener 获取档位列表回调监听 |
注意
:存档列表数据是没有档位内容的,开发者需要根据存档ID去获取
2.5 代码混淆
如果您需要使用proguard混淆代码,需确保不要混淆SDK的代码。
请在proguard.cfg文件(或其它混淆文件)尾部添加如下配置:
# 不能混淆监听
-keep class com.m3839.sdk.common.** {*;}
-keep class com.m3839.sdk.archives.** {*;}
2.6 接口状态返回的code和message
code | message |
---|---|
101 | 存档标题超出30字符 |
102 | 网络异常 |
103 | 操作过于频繁(目前存档、读档、列表请求间隔为3s) |
1001 | 存档保存失败 |
1101 | 账号信息已失效,请重新登录 |
2001 | 游戏存档未配置(目前是技术配置游戏id后才可使用存档 ) |
2002 | 档位不存在 |
2004 | 存档内容超出1M |
2005 | 最多只能存储10个档位 |
2101 | 包体错误(检查下包名和签名是否正确) |
网友评论