Skip to content

国内老版本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 已经使用到该字段请在游戏服务器进行登录验证时进行兼容处理

Hoolai Access SDK