---
code: unity_sdk_pluggable
name: "原生 SDK 可插拔"
wikiToken: LW9awZLwKiOUVBkqw56c31gznrb
parentWikiToken: BMYXwREPHidgIokPXd3cibSdnqe
updateTime: 1745309707000
sourceUrl: https://docs-v2.thinkingdata.cn/?version=v5.0&lan=zh-CN&code=unity_sdk_pluggable
---
# 原生 SDK 可插拔

::: tip 提示

从 v2.6.0 开始支持动态切换 iOS/Android 原生平台执行代码逻辑。默认执行 Objective-C/Java逻辑，切换之后执行 C# 代码逻辑。

已上线的 iOS/Android 应用，用户在更新“执行 C# 代码逻辑”的版本之后，会丢失持久化数据，包括设备ID、账号ID、访客ID、事件公共属性等，出现被判定为新用户的情况。请慎重选择。

:::

## 一、可插拔流程

### 1.1 iOS 平台

<!-- unsupported block: 34 -->

默认执行 Objective-C 代码逻辑，切换后执行 C# 代码逻辑。

- 下载 Unity SDK 之后解压成 `ta_unity_sdk.unitypackage` 文件，双击选择导入 SDK，在导入界面取消勾选 `Plugins/iOS` 目录，再导入即可
<!-- unsupported block: 34 -->

注意：如果已经导入过 Unity SDK，需要检查 Plugins/iOS 目录中的文件，如果没有 “ThinkingSDK”、“TAThirdParty”、“ThinkingAnalytics.m”之外的文件或目录，直接删除 Plugins/iOS 即可，否则删除上述文件和目录即可。

- 打开 `Project Settings` 界面，切换到 `iOS` 栏，找到 `Scripting Define Symbols`，新增一行输入`TE_DISABLE_IOS_OC` 然后点击 `Apply` 按钮完成设置，最后在开发完成之后正常导出 Xcode 工程即可
### 1.2 Android 平台

<!-- unsupported block: 34 -->

默认执行 Java 代码逻辑，切换后执行 C# 代码逻辑。

- 下载 Unity SDK 之后解压成 `ta_unity_sdk.unitypackage` 文件，双击选择导入 SDK，在导入界面取消勾选 `Plugins/Android` 目录，再导入即可
<!-- unsupported block: 34 -->

注意：如果已经导入过 Unity SDK，需要检查 Plugins/Android 目录中的文件，如果没有 “ThinkingSDK.aar”、“ThinkingSDK-gameengine.aar”、“ThinkingSDK-thirdparty.aar”之外的文件或目录，直接删除 Plugins/Android 即可，否则删除上述文件即可。

- 打开 `Project Settings` 界面，切换到 `Android` 栏，找到 `Scripting Define Symbols`，新增一行输入 `TE_DISABLE_ANDROID_JAVA` 然后点击 `Apply` 按钮完成设置，最后在开发完成之后正常导出 Android 工程即可
