国内老版本SDK迁移文档
国内旧版本Androdi SDK 迁移新版 Android SDK 说明文档
- SDK 客户端不需要改动代码逻辑,只需要替换 SDK 资源即可
- 新版本与老版本差异在于新版本 SDK 出包时需要使用固定的配置与签名配置
完整迁移流程如下
- 找运营申请新版本 SDK 参数access.config与签名配置keystore
- 删除老版本 SDK 依赖资源与配置
- 添加新版本 SDK 依赖资源与配置
- 打包安装测试游戏包是否正常
删除流程如下
- 将老版本 SDK 依赖资源全部删除
- 正常情况下如果老版本 SDK 已经更新到最新版本,应该引入的只有如下两个 jar 包,如果还有有其他无用的 jar或依赖请一并删除!
- fastaccess_sdk.jar(旧版本 SDK 资源)
- fastjson-1.2.62.jar(旧版本 SDK 资源)
- 如AndroidManifest.xml 中存在以下老版本配置,可以直接删除
xml
<activity
android:name="com.hoolai.sdk.activity.FastAccessLoginActivity"
android:configChanges="keyboardHidden|orientation|screenSize"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:windowSoftInputMode="adjustResize" />
<activity
android:name="com.hoolai.sdk.activity.FastAccessNotifyActivity"
android:screenOrientation="sensor" />
<activity
android:name="com.hoolai.open.fastaccess.channel.impl.fastaccess.FASTACCESSSplashActivity"
android:screenOrientation="sensor" />
添加新版本 SDK 流程如下
将申请的 access.config 文件放到module/assets 目录下
项目根目录下build.gradle 远程 maven 配置
xml
buildscript {
repositories {
maven {
url 'https://sdk.wdyxgames.com/nexus/repository/sdk-public/'
}
}
}
allprojects {
repositories {
maven {
url 'https://sdk.wdyxgames.com/nexus/repository/sdk-public/'
}
}
}
- module 模块下 build.gradle中添加新版本 SDK 依赖库,hoolai-core依赖库请参考最新版本
xml
dependencies {
implementation 'com.hoolai.access.open:fast-access:1.0.0.3'
implementation 'com.hoolai.access.open:hoolai-core:1.0.3.20'
}
- AndroidManifest.xml 添加如下配置
xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.hoolai.access.channel.impl">
<!-- 示例-->
<uses-permission android:name="android.permission.INTERNET" />
<!-- application中有以下两个新增配置,必加 -->
<application
android:allowBackup="false"
android:requestLegacyExternalStorage="true">
<meta-data android:name="android.max_aspect" android:value="2.5"
android:allowBackup='false' requestLegacyExternalStorage=true/>
<activity
android:name="游戏启动类Activity">
...
<!-- 以下配置为新增内容,必接 -->
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="hlscheme" android:host="hlhost"/>
</intent-filter>
</activity>
<!--注意!!!!使用${applicationId}需要替换成hlApplicationId
ysdk渠道需要增加META配置 -->
<!--MAIN_ACTIVITY标签的value=游戏的入口类Activity全路径,否则应用宝渠道登录失败-->
<!--该标签必须加 -->
<meta-data
android:name="MAIN_ACTIVITY"
android:value="游戏的启动Activity全路径.比如com.demo.GameActivity"/>
<!--以下为示例 无需copy!!!-->
<!-- TODO 原配置 -->
<provider
android:name="xx.FileProvider"
android:authorities="${applicationId}.Fileprovider"
... />
<!-- TODO 修改后 -->
<provider
android:name="xx.FileProvider"
android:authorities="hlApplicationId.Fileprovider"
... />
<!--以上为示例 无需copy-->
<!--screenOrientation标签,游戏横屏:landscape, 游戏竖屏:portrait -->
<activity
android:name="com.hoolai.access.open.fastaccess.splash.HLSplashActivity"
android:theme="@style/HlSplashTransparent"
tools:replace="screenOrientation"
android:screenOrientation="landscape"/>
</application>
</manifest>
- 使用申请的 keystore 文件打包出包进行测试
注意事项
- 新版 SDK 客户端在登录成功后将不再返回 channelUid 字段,默认返回为 0,如旧版 SDK 已经使用到该字段请在游戏服务器进行登录验证时进行兼容处理