为了减少包体大小,您可以将 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 文件需要在鉴权之前处理,所以可以放在最早进行处理。