# 一、接入准备
这一步骤主要介绍快速将SDK资源集成到游戏工程,以编译打包正常为完成标志。
下一步将介绍具体业务功能的集成。
# 1.1 环境准备
- 下载 UltraSdk资源
- 接入准备:
- 安卓开发环境:
JDK
1.8 或以上版本Android Studio
3.0.0或以上版本gradle
2.3.3或以上版本
- 游戏工程:
- 可编译运行的 Android游戏工程
Android Studio
风格- 使用
gradle
编译
- 可编译运行的 Android游戏工程
- 调试运行:
Android设备
,要求:系统4.4及以上版本、可以正常联网;
- 配置参数:
- 请先在
开发者中台
创建游戏
,并获取接入须要的各项参数- ProductID: 应用ID,必须,代表当前游戏在SDK系统中的唯一ID;
- ProductKey: 应用KEY,必须,用于常规业务接口的签名;
- 支付相关 (需要使用支付功能时配置)
- 内购商品(即 道具):有多条记录,需要根据接入渠道配置;
- 支付回调地址:游戏服务的http回调地址,需要能被外网访问,可以参考UltraSdk的服务端SDK及示例;
- 支付回调KEY:用于支付回调流程中验证签名;
- 请先在
- 安卓开发环境:
# 1.2 时序图
# 二、集成开始
# 2.1 获取SDK
在文档中心下载资源包,解压后将得到如图文件夹:
以下是资源目录结构说明:
- /
- UltraSdk/
必须接入,根据Project情况选择相应的版本 - android版本
默认接入此版本即可 - androidx版本
如游戏需要接入Google、Facebook、Appsflyer、Firebase等三方库,请接入此版本
- android版本
- UltraSdk/
以下是资源文件说明:
- /
- assets/
- ultrasdkcfg.xml
参数配置文件, 接入时这里需要CP修改
- ultrasdkcfg.xml
- libs/
核心依赖库 - UltraSDK.aar
- readme.txt
- assets/
- /
# 2.2 资源导入
将对应的SDK资源拷贝至游戏Android
工程对应的目录下
# 2.3 添加SDK的库依赖
编辑游戏(Android)工程的app层级下的
build.gradle
,android版本
,在dependencies节点下对/libs
下的jar包或aar进行依赖,如:dependencies { implementation fileTree(include: ['*.jar', '*.aar'], dir: 'libs') //sdk需要依赖以下android库,请务必导入,如果版本号与您本地有差异,请设置成大于或等于sdk所需库版本 implementation 'com.android.support:support-v4:28.0.0' implementation 'com.android.support:multidex:1.0.3' }
1
2
3
4
5
6androidx版本
,在dependencies节点下的aar进行依赖,如:dependencies { implementation fileTree(include: ['*.jar', '*.aar'], dir: 'libs') //sdk需要依赖以下android库,请务必导入,如果版本号与您本地有差异,请设置成大于或等于sdk所需库版本 implementation('androidx.legacy:legacy-support-v4:1.0.0') implementation('androidx.multidex:multidex:2.0.1') }
1
2
3
4
5
6
7在android节点下添加本地仓库,如:
android { compileSdkVersion 30 buildToolsVersion "30.0.3" ... compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } }
1
2
3
4
5
6
7
8
9
10以
android版本
为例,各个资源以及配置导入位置如下图所示:在
Android Studio
菜单中选择刷新工程,如图:
# 2.4 配置ultrasdkcfg.xml
在 assets/ultrasdkcfg.xml
配置:
参数说明
字段 类型 重要 说明 _hu_pid_
String 必须 游戏的productID(必传,UltraSdk需要) _hu_pk_
String 必须 游戏的productKey(必传,UltraSdk需要) 参数获取方法:
UltraSdk管理后台-游戏管理-游戏首页
示例如下
<?xml version="1.0" encoding="utf-8"?> <resources> <!--UltraSdk的必传参数,productID,接入时请将其替换为游戏对应的值--> <string name="_hu_pid_">12345678</string> <!--UltraSdk的必传参数,productKey,接入时请将其替换为游戏对应的值--> <string name="_hu_pk_">12345678</string> </resources>
1
2
3
4
5
6
7
# 2.5 配置AndroidManifest.xml
编辑游戏工程主目录的 AndroidManifest.xml
第一步:如果有
android:installLocation
属性,需要将值置为auto
,否则可能出现游戏无法安装的问题,示例:<manifest xmlns:android="http://schemas.android.com/apk/res/android" ... android:installLocation="auto" > ... </manifest>
1
2
3
4
5第二步:所有自定义的 Activity 需要配置
android:configChanges
,示例:<activity android:name="***.******.*********" ... android:configChanges="keyboardHidden|orientation|screenSize" > ... </activity>
1
2
3
4
5
6说明: 为防止自定义的 Activity 发生横竖屏无法正常切换的问题。第三步:
Unity3D游戏 ,需要在主界面 Acitivity 中添加如下设置:<meta-data android:name="unityplayer.ForwardNativeEventsToDalvik" android:value="true" />
1说明: 为了使页面中的 Android 控件具有点击事件。
# 2.6 配置build.gradle
编辑游戏工程主目录的 build.gradle
:
- 设置
android:targetSdkVersion
- 根据国内主流渠道的要求,建议设置为 26(Android 8.0 Oreo),国内发行最高不超过28
- 海外发行,根据谷歌要求设置到最新版本即可。
# 2.7 Android Studio 混淆配置
游戏混淆发布前,务必添加以下字段到混淆文件 proguard-rules.pro
中
-keep class com.ultrasdk.** { *; }
# 2.8 运行验证
在完成上述操作后,请编译运行,测试有无库冲突问题。
恭喜你完成SDK集成,让我们开始《第二步:开始接入》吧~