为了减少包体大小,您可以将 SDK 所需的 so 库(Android 有,iOS 没有)、模型资源和素材资源(滤镜和贴纸)改为联网下载。
SDK 集成
下载 SDK,解压,然后从"SDK"目录找到 .zip 格式的压缩包,再次解压,您将看到如下文件。将
assets 里的模型文件和 jniLibs 里的 so 文件压缩包在您的服务器,然后联网下载使用。将libs下的xmagic-xxxx.aar复制到 android/app/libs文件夹下,并在app/build.gradle中的dependencies 添加api fileTree(dir: "libs", include: ['*.aar'])。

动态加载 so
将 so 压缩包下载到应用安装目录下,并进行解压,然后调用
TencentEffectApiAndroid对象的setLibPathAndLoad 方法加载so。/*** @param libPath 用于存放so的文件夹路径,比如: xxx/xxx/arm64-v8a 或者xxx/xxx/armeabi-v7a**/Future<bool> setLibPathAndLoad(String libPath);
动态加载模型
将模型文件下载到应用安装目录下,并进行解压,调用
TencentEffectApiAndroid对象的addAiMode 将模型文件复制到指定目录下。/*** @param inputDir 要复制的文件夹的路径,这个指的是"Light3DPlugin", "LightCore", "LightHandPlugin", "LightBodyPlugin", "LightSegmentPlugin" 文件夹的路径* @param resDir 这个路径要和 setResourcePath 方法设置的路径,要和这个保持一致。* @param callBack 复制结果回调,0 表示复制成功*/void addAiMode(String inputDir, String resDir, AddAiModeCallBack callBack) ;
动态加载素材
注意:
1. 如果您是使用的demo中的面板,demo中的面板默认是使用的
setResourcePath的路径+json中配置的路径,所以在使用面板并动态下载素材的时候,需要将素材下载到 setResourcePath +json 配置文件的路径下。2. 这里的素材指的是 滤镜资源和贴纸资源。
SDK 集成

打开您的 Xcode 工程项目,把
frameworks 文件夹里面的 xcframework 添加到实际工程中,选择要运行的 target , 选中 General 项,单击Frameworks,Libraries,and Embedded Content 项展开,单击底下的“+”号图标去添加依赖库。添加 SDK:
XMagic.xcframework、YTCommonXMagic.xcframework、libpag.xcframework 、Audio2Exp.xcframework、TECodec.xcframework添加依赖库:
MetalPerformanceShaders.framework、CoreTelephony.framework、JavaScriptCore.framework、VideoToolbox.framework、libc++.tbd根据需要添加其它工具库
Masonry.framework(控件布局库)、SSZipArchive(文件解压库)。
动态加载模型
将模型文件下载到沙盒下,并解压(例如:沙盒路径
Document/Xmagic)。在使用setResourcePath的时候设置这个路径即可,这样美颜在初始化的时候就可以使用到下载的模型文件。动态加载素材
注意:
1. 如您是使用的 demo 中的面板,demo 中的面板默认是使用的
setResourcePath的路径+json中配置的路径,所以在使用面板并动态下载素材的时候,需要将素材下载到 setResourcePath +json 配置文件的路径下。2. 这里的素材指的是 滤镜资源和贴纸资源。
注意:
模型文件需要在开启美颜之前处理,so 文件需要在鉴权之前处理,所以可以放在最早进行处理。