开发指南
本文介绍如何在游戏中加入云存档功能。
提示
PC 端云存档功能,使用前需接入启动校验,具体参考 TapTap PC 端集成 文档
权限说明
- Unity
- Android Java
- Android Kotlin
- iOS Swift
- iOS Objective-C
该模块需要如下权限:
| 权限 | 使用目的 | 权限申请时机 |
|---|---|---|
| 网络权限 | 用于访问网络数据 | 用户首次使用该功能时会申请权限 |
| 网络状态权限 | 用于检查网络连接状态(如 Wi-Fi 或移动数据是否可用) | 用户首次使用该功能时会申请权限 |
该模块将在应用中添加如下权限:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
该模块需要如下权限:
| 权限 | 使用目的 | 权限申请时机 |
|---|---|---|
| 网络权限 | 用于访问网络数据 | 用户首次使用该功能时会申请权限 |
| 网络状态权限 | 用于检查网络连接状态(如 Wi-Fi 或移动数据是否可用) | 用户首次使用该功能时会申请权限 |
该模块将在应用中添加如下权限:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
iOS 云存档模块不需要特殊权限配置。
iOS 云存档模块不需要特殊权限配置。
集成前准备
参考 准备工作 创建应用、开启云存档服务。
SDK 获取
由于 TapSDK V4 依赖于 TapTapCore 核心库以及 TapTapLogin 登录,所以需要在 TapTapCore 的基础上,另外添加 TapTapCloudSave、TapTapLogin 模块:
- Unity
- Android Java
- Android Kotlin
- iOS Swift
- iOS Objective-C
第一步:添加 SDK 所需的外部依赖
SDK 内部使用了部分第三方库,开发者接入时需先确保 SDK 外部依赖库已正常接入,具体设置如下:
- SDK 使用的 JSON 解析库为
Newtonsoft-json,如果当前工程已接入该依赖库,则不需额外处理,否则需在Packages/manifest.json添加如下依赖:
"com.unity.nuget.newtonsoft-json":"3.2.1"
- SDK 使用
com.google.external-dependency-manager管理 Android、iOS 依赖,如果当前工程已接入该依赖库,则不需额外处理,否则需在Packages/manifest.json添加如下依赖:
{
"dependencies": {
"com.google.external-dependency-manager": "1.2.179"
},
"scopedRegistries": [
{
"name": "package.openupm.com",
"url": "https://package.openupm.com",
"scopes": [
"com.google.external-dependency-manager"
]
}
]
}
第二步:添加 SDK 依赖
SDK 支持 Unity Package Manager 及本地文件导入两种集成方式,开发者根据需求选择其中一种即可,推荐使用远程依赖。
远程依赖
SDK 支持通过 NPMJS 及 GitHub 两种方式,开发者选择其中一种即可。
1. NPMJS 接入
在项目的 Packages/manifest.json 文件中添加以下依赖:
"dependencies":{
"com.taptap.sdk.core":"4.8.4",
"com.taptap.sdk.login":"4.8.4",
"com.taptap.sdk.cloudsave":"4.8.4",
}
但需要注意的是,需在 Packages/manifest.json 中 dependencies 同级下声明 scopedRegistries:
"scopedRegistries":[
{
"name": "NPMJS",
"url": "https://registry.npmjs.org/",
"scopes": ["com.taptap"]
}
]
2. GitHub 接入
在项目的 Packages/manifest.json 文件中添加以下依赖:
"dependencies":{
"com.taptap.sdk.core":"https://github.com/taptap/tapsdk-unity-dist.git?path=/Core#4.8.4",
"com.taptap.sdk.login":"https://github.com/taptap/tapsdk-unity-dist.git?path=/Login#4.8.4",
"com.taptap.sdk.cloudsave":"https://github.com/taptap/tapsdk-unity-dist.git?path=/CloudSave#4.8.4",
}
说明:自 4.7.2 起,Unity Packages 仓库已统一为大仓
tapsdk-unity-dist,所有包通过目录区分并使用?path=指定子目录、#指定版本标签。例如 Core 模块:"com.taptap.sdk.core": "https://github.com/taptap/tapsdk-unity-dist.git?path=/Core#4.7.2"
在 Unity 顶部菜单中选择 Window > Package Manager 可查看已经安装在项目中的包。
本地文件导入
- 在 下载页 下载下列模块对应
unitypackage文件,并在 Unity 项目中依次通过 Assets > Import Packages > Custom Packages 进行导入,包括:
TapSDK_Core.unitypackageTapTapSDK 核心模块,必选。TapSDK_Login.unitypackageTapTapSDK 登录模块,必选。TapSDK_CloudSave.unitypackageTapTapSDK 云存档模块,必选。
- 如果当前项目已集成
Newtonsoft.Json依赖,则忽略该步骤,否则在NuGet.orgNewtonsoft.Json 页面中通过点击右侧 「Download package」 下载库文件,并将下载的文件后缀从.nupkg修改为.zip,同时解压该文件并复制内部的Newtonsoft.Json.dll文件拷贝到工程Assets的Plugins目录下,另外为了避免导出 IL2CPP 平台时删除必要数据,需在Assets目录下创建link.xml文件(如果 已有该文件,则添加如下内容),其内容如下:
<linker>
<assembly fullname="System.Core">
<type fullname="System.Linq.Expressions.Interpreter.LightLambda" preserve="all" />
</assembly>
</linker>
- 项目根目录的 build.gradle 添加仓库地址:
allprojects {
repositories {
google()
mavenCentral()
}
}
- app module 的 build.gradle 添加对应依赖:
dependencies {
implementation 'com.taptap.sdk:tap-core:4.8.4'
implementation 'com.taptap.sdk:tap-login:4.8.4'
implementation 'com.taptap.sdk:tap-cloudsave:4.8.4'
}