# 原生 SDK 可插拔
提示
从 v2.6.0 开始支持动态切换 iOS/Android 原生平台执行代码逻辑。默认执行 Objective-C/Java逻辑,切换之后执行 C# 代码逻辑。
已上线的 iOS/Android 应用,用户在更新“执行 C# 代码逻辑”的版本之后,会丢失持久化数据,包括设备ID、账号ID、访客ID、事件公共属性等,出现被判定为新用户的情况。请慎重选择。
# 一、可插拔流程
# 1.1 iOS 平台
默认执行 Objective-C 代码逻辑,切换后执行 C# 代码逻辑。
- 下载 Unity SDK (opens new window) 之后解压成
ta_unity_sdk.unitypackage
文件,双击选择导入 SDK,在导入界面取消勾选Plugins/iOS
目录,再导入即可
注意:如果已经导入过 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 平台
默认执行 Java 代码逻辑,切换后执行 C# 代码逻辑。
- 下载 Unity SDK (opens new window) 之后解压成
ta_unity_sdk.unitypackage
文件,双击选择导入 SDK,在导入界面取消勾选Plugins/Android
目录,再导入即可
注意:如果已经导入过 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 工程即可