Unity 集成指南
环境要求
- 支持 Unity 2019.4 及以上版本
准备
获取 SDK
tip
Unity 2020.3.15 之前的版本为了避免后面构建报错建议升级 Gradle 版本,可参考该 Gradle 升级步骤文档。
Manifest 配置
打开项目的 AndroidManifest.xml 文件,添加如下配置:
(${applicationId} 为您的应用包名)
<activity-alias
android:name="${applicationId}.wxapi.WXPayEntryActivity"
android:exported="true"
android:targetActivity="com.taptap.payment.wechat.WechatPayActivity" />
集成 SDK 时,因 SDK 内部使用了第三方库,所以需同时添加 SDK 的外部依赖和添加 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.unity.purchasing":"3.1.0", //TapTap IAP 所须依赖
"com.taptap.sdk.core":"4.9.5",
"com.taptap.sdk.iap":"4.9.5",
}
但需要注意的是,需在 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.9.5",
"com.taptap.sdk.iap":"https://github.com/taptap/tapsdk-unity-dist.git?path=/IAP#4.9.5",
}
说明:自 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_IAP.unitypackageTapTapSDK 模块IAP,必选。