sticker - ksvcmc/KMCFuFilter_iOS GitHub Wiki

1. 在线贴纸

1.1 贴纸KMCFilter

  • 拉取贴纸索引信息

    客户可以在控制台把贴纸放入一个group里面,sdk通过groupID进行拉取,相关函数为:

    - (void)downloadMaterial:(KMCArMaterial *)material
              onSuccess:(void (^)(KMCArMaterial *material))completeSuccess
              onFailure:(void (^)(KMCArMaterial *material , int iErrorCode , NSString 
              *strMessage))completeFailure
             onProgress:(void (^)(KMCArMaterial *material , float fProgress , int64_t iSize))processingCallBack;
    

    拉取成功后,资源索引文件,包括贴纸的下载地址,缩略图的下载地址,贴纸的手势ID,手势描述信息 等,可以在此处设置UI相关信息。

  • 查询贴纸是否已经下载到本地
 ```
  - (BOOL)isMaterialDownloaded:(KMCArMaterial *)material;
 ```

 ​
  • 下载贴纸

    贴纸资源大小不固定,大的可能几M,小的可能几十K,相关函数:

    - (void)downloadMaterial:(KMCArMaterial *)material
              onSuccess:(void (^)(KMCArMaterial *material))completeSuccess
              onFailure:(void (^)(KMCArMaterial *material , int iErrorCode , NSString 
          *strMessage))completeFailure
             onProgress:(void (^)(KMCArMaterial *material , float fProgress , int64_t iSize))processingCallBack;
    
  • 加载贴纸

    /**
     激活素材
     @param material        需要展示的素材
     */
    - (void)startShowingMaterial:(KMCArMaterial *)material;
    

2. 本地贴纸

从本地加载贴纸,可直接创建KMCFitler实例调用以下方法:

/**
贴纸自定义路径:
@param bundlePath 贴纸路径 如 a/b/c.bundle 路径,bundlePath 请输入a/b/
*/
- (void)setCustomloadBundlePath:(NSString *)bundlePath;

/**
贴纸模式:
@param bundlePathMode 贴纸模式  使用 下载之后的路径 还是 本地路径 加载贴纸
*/

- (void)setCustomBundlePathMode:(BundlePathMode) bundlePathMode;