2022年度 FinClip 扩展 SDK 推荐!

news2024/9/22 21:37:24

2022年,FinClip 团队进行了24个产品迭代,为了丰富FinClip 的平台能力,除了核心SDK之外,我们还为开发者们提供了扩展SDK,扩展SDK是一个依赖核心SDK的库,里面提供了核心SDK中所没有的各种小程序API。

官方希望通过丰富的扩展SDK库可以帮助开发者减少开发工作,把更多的精力用到实现业务上。那本期,小编就为大家推荐扩展SDK库中8个功能稳定又实用的SDK!(更多详细内容请点击)

以下分享以Android SDK 文件为例,您可登录 资源下载中心下载 Android SDK 文件,扩展 SDK 也处于在所下载的压缩包中。

1、WeChatSDK

微信SDK的快捷接入,提供调起微信通过微信小程序获得登录、用户信息、手机号、支付的能力。

集成方式:

implementation 'com.finogeeks.mop:wechat:x.y.z'

并在项目的build.gradle文件中(如app/build.gradle)添加您在微信开放平台申请的微信APPID:

android {
    // ..其它配置省略
    defaultConfig {
    // ..其它配置省略
    resValue "string", "wechat_sdk_app_id", "您的微信SDKAPPID"
    }
}

WeChatSDK相关api概览

2、MapSDK

支持Map组件及位置API。 其依赖于核心SDK,做为地图、位置功能的补充。 其中提供的地图、定位能力依赖于第三方地图、定位SDK。支持高德地图/高德定位、百度地图/百度定位、谷歌地图/谷歌定位三种组合情况使用。集成文档请参照「小程序SDK-Android SDK-Android 集成-6. MapSDK」

Map SDK 相关api概览

3、蓝牙SDK

使用蓝牙接口需要单独集成蓝牙SDK,集成后接口即可生效,无需配置。

集成方式:

implementation 'com.finogeeks.mop:bluetooth:x.y.z'

蓝牙SDK相关api概览

4、声网SDK

使用声网相关的接口需要单独集成声网SDK,集成后接口即可生效,无需配置。

集成方式:

implementation 'com.finogeeks.mop:agora:x.y.z'

若您使用导入aar的方式接入声网SDK,需要额外添加声网依赖:

implementation 'io.agora.rtc:full-sdk:3.5.0'

声网SDK相关api概览

5、WebRTCSDK

使用WebRTC相关的接口需要单独集成WebRTCSDK,集成后接口即可生效,无需配置。

集成方式:

implementation 'com.finogeeks.mop:webrtc:x.y.z'

若您使用导入aar的方式接入WebRTCSDK,需要额外添加WebRTC依赖:

implementation 'org.webrtc:google-webrtc:1.0.32006'

WebRTC SDK相关api概览

6、联系人SDK

使用联系人相关的接口需要单独集成联系人SDK,集成后接口即可生效,无需配置。

集成方式:

implementation 'com.finogeeks.mop:contact:x.y.z'

联系人SDK相关api概览

7、剪贴板SDK

使用剪贴板相关的接口需要单独集成剪贴板SDK,集成后接口即可生效,无需配置。

集成方式:

implementation 'com.finogeeks.mop:clipboard:x.y.z'

剪贴板SDK相关api概览

8、Media SDK

video组件的边下边播需要集成此SDK才能实现。

集成方式:

android {
    packagingOptions {
        doNotStrip "*/arm64-v8a/libijkffmpeg.so"
        doNotStrip "*/arm64-v8a/libijkplayer.so"
        doNotStrip "*/arm64-v8a/libijksdl.so"

        doNotStrip "*/armeabi/libijkffmpeg.so"
        doNotStrip "*/armeabi/libijkplayer.so"
        doNotStrip "*/armeabi/libijksdl.so"

        doNotStrip "*/armeabi-v7a/libijkffmpeg.so"
        doNotStrip "*/armeabi-v7a/libijkplayer.so"
        doNotStrip "*/armeabi-v7a/libijksdl.so"

        doNotStrip "*/x86/libijkffmpeg.so"
        doNotStrip "*/x86/libijkplayer.so"
        doNotStrip "*/x86/libijksdl.so"

        doNotStrip "*/x86_64/libijkffmpeg.so"
        doNotStrip "*/x86_64/libijkplayer.so"
        doNotStrip "*/x86_64/libijksdl.so"
    }
}


dependencies {
    implementation 'com.finogeeks.mop:media:x.y.z' //x.y.z须替换为具体的版本号
    implementation 'tv.danmaku.ijk.media:ijkplayer-java:0.8.8'
}

在proguard-rules.pro文件中添加混淆规则:

# Media SDK
-keep public class com.finogeeks.finclip.plugins.media.player.ijk.FinIjkMediaPlayerFactory {
    public <init>();
}
-keep class com.finogeeks.finclip.plugins.media.player.ijk.IjkMediaPlayerOptionsApplier {
    public static <fields>;
    public static <methods>;
}
-keep class com.finogeeks.finclip.plugins.media.player.ijk.IjkMediaPlayerOptionsApplier$Applier {*;}
-keep class com.finogeeks.finclip.plugins.media.player.ijk.IjkMediaPlayerOptionsApplier$Options {*;}

#ijkplayer
-keep class tv.danmaku.ijk.media.player.** {*;}
-keep class tv.danmaku.ijk.media.player.IjkMediaPlayer{*;}
-keep class tv.danmaku.ijk.media.player.ffmpeg.FFmpegApi{*;}

集成Media SDK后,video组件的播放器实现,会从系统方案MediaPlayer自动切换到IjkMediaPlayer方案,无需做其他操作。

Media SDK的相关API

由于IjkMediaPlayer的配置项非常多,每个App的需求又不同,所以Media SDK将配置功能暴露给App开发者来调用。

class SampleApplication : MultiDexApplication() {

    override fun onCreate() {
        super.onCreate()
        IjkMediaPlayerOptionsApplier.setIjkMediaPlayerOptionsApplier(this) {
            it.setOption(
                IjkMediaPlayer.OPT_CATEGORY_PLAYER,
                "start-on-prepared",
                0
            ) // 禁止自动开始播放,由上层去控制

            it.setOption(
                IjkMediaPlayer.OPT_CATEGORY_PLAYER,
                "max-buffer-size",
                (1024 * 24).toLong()
            ) // 最大缓冲大小,单位kb

            it.setOption(
                IjkMediaPlayer.OPT_CATEGORY_PLAYER,
                "packet-buffering",
                0L
            ) // 如此设置,才会在及时停止加载状态显示

            it.setOption(
                IjkMediaPlayer.OPT_CATEGORY_PLAYER,
                "enable-accurate-seek",
                1
            ) // 设置为精准seek
        }
        // 其他初始化代码……
    }
}

同时如上代码片段中的配置,是Media SDK的默认配置项,App开发者可以按照自己的需要制定相关的配置。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/171753.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

arduino和物联网云端平台系列---物模型之事件

事件&#xff0c;先下个简单的定义就是发生了什么事件 系列文章都是已经完成了基本的库安装和使用为前提 物模型之事件 基本的添加步骤不描述了&#xff0c;设置一个测试用例 事件我已经设定好了&#xff0c;输出参数代表的是在云端得到的输出&#xff0c;需要我们在设备进行…

【程序环境和预处理】C语言

前言&#xff1a; 到此节便是我们C语言学习的终章了&#xff0c;对C语言的学习便告一段落了&#xff0c;到学完这一章节我们便要进入下一个主题的学习了。 目录1. 程序的翻译环境和执行环境2. 详解编译链接2.1 翻译环境2.2 编译本身也分为几个阶段2.3 运行环境3. 预处理详解3.1…

ESP32设备驱动-L3GD20三轴角速率传感器驱动

L3GD20三轴角速率传感器驱动 1、L3GD20介绍 L3GD20 是一款低功耗三轴角速率传感器。 它包括一个传感元件和一个 I2C 接口,能够通过数字接口 (I2C/SPI) 向外部世界提供测量的角速率。传感元件采用意法半导体开发的专用微加工工艺制造,用于在硅晶片上生产惯性传感器和执行器。…

高通Qualcomm处理器的手机或设备进EDL 9008模式的办法

适用于变砖的设备 由于我们有很多基于 Qualcomm 的设备&#xff0c;其中一些设备可能会古怪地猜测如何进入 EDL 模式&#xff0c;或者如何正确进入。 例如&#xff0c;对于 Alcatel&#xff0c;您必须先按住两个音量键&#xff0c;然后再按住其中一个&#xff0c;对于 CAT B35…

DocPrompt代码实现细节

数据预处理阶段 PaddleOCR PP-Structure&#xff1a;这个库其实是用于版面分析的一个开源库&#xff0c;参见&#xff1a;github: Layout-Parser/layout-parserhttps://github.com/Layout-Parser/layout-parser 代码推理阶段 Paddle-Inferencehttps://paddle-inference.readt…

[JavaEE]定时器

专栏简介: JavaEE从入门到进阶 题目来源: leetcode,牛客,剑指offer. 创作目标: 记录学习JavaEE学习历程 希望在提升自己的同时,帮助他人,,与大家一起共同进步,互相成长. 学历代表过去,能力代表现在,学习能力代表未来! 目录: 1.定时器的概念 2.标准库中的定时器 3.实现定时…

团灭LeetCode跳跃游戏(相关话题:贪心,BFS)

目录 LeetCode55跳跃游戏 LeetCode45. 跳跃游戏 II LeetCode1306. 跳跃游戏 III LeetCode1345. 跳跃游戏 IV LeetCode55跳跃游戏 给定一个非负整数数组 nums &#xff0c;你最初位于数组的 第一个下标 。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否…

win32com操作word 第三集:Range精讲(一)

本课程《win32com操作word API精讲&项目实战》&#xff0c;本公众号以文字分享为主&#xff0c;B站与视频号则发布视频分享&#xff0c;ID均为&#xff1a;一灯编程 本集开始&#xff0c;将会深入Document接口。打开或创建一个文档都会产生一个Document对象&#xff0c;它代…

十大排序(Java版本)

排序分为比较排序和非比较排序两种&#xff0c;常见的排序为比较排序&#xff0c;共有七类&#xff1a;直接插入排序、希尔排序、选择排序、冒泡排序、堆排序、快速排序以及归并排序。另有三种非基于比较类的排序&#xff1a;计数排序、基数排序和桶排序。基于比较的排序直接插…

TreeMap和TreeSet的介绍

目录 1、认识 TreeMap 和 TreeSet 2、TreeMap 的主要成员变量 3、TreeMap 的主要构造方法 4、TreeMap 和 TreeSet 的元素必须可比较 5、TreeMap 和 TreeSet 关于 key 有序 6、TreeMap 和 TreeSet 的关系 7、总结 1、认识 TreeMap 和 TreeSet TreeMap 和 TreeSet 是Ja…

探索SpringMVC-组件之ViewResolver

前言 ViewResolver也就是视图解析器&#xff0c;他将是我们《探索SpringMVC》系列要介绍的最后一个常用的组件。其他组件&#xff1a;MultipartResolver、LocaleResolver、ThemeResolver、RequestToViewNameTranslator、FlashMapManager&#xff0c;相对简单&#xff0c;大家可…

一个想活得简单的程序猿的2022年终总结!

前言 今年的总结相比以往来说&#xff0c;可写的太少了&#xff0c;但看到我17年开始写的年终总结&#xff0c;已定下每年写下的承诺&#xff0c;因此即便可写的不多&#xff0c;但是还是写下吧&#xff0c;毕竟又过了一年&#xff0c;总有东西会留下&#xff01; 今年事件 疫…

【Linux杂篇】Windows远程登陆Linux、Linux静态IP配置

前言 如果要长期连接Linux环境&#xff0c;就需要给Linux配置一个静态IP&#xff0c;否则可能每次连接的IP都不一样而且还很麻烦。 除此之外&#xff0c;我们使用ssh远程登录的时候&#xff0c;每次都要输入密码&#xff0c;也很麻烦&#xff0c;所以建议配置ssh密钥&#xff…

执行 java -jar xxx.jar 的时候底层到底做了什么?

大家都知道我们常用的 SpringBoot 项目最终在线上运行的时候都是通过启动 java -jar xxx.jar 命令来运行的。那你有没有想过一个问题&#xff0c;那就是当我们执行 java -jar 命令后&#xff0c;到底底层做了什么就启动了我们的 SpringBoot 应用呢&#xff1f;或者说一个 Sprin…

Redis删除了大量数据后,为什么内存占用还是很高?

前言 上周刚来了个应届小师弟&#xff0c;组长说让我带着&#xff0c;周二问了我这样一个问题&#xff1a;师兄啊&#xff0c;我用top命令看了下服务器的内存占用情况&#xff0c;发现Redis内存占用严重&#xff0c;于是我就删除了大部分不用的keys&#xff0c;为什么内存占用…

文件操作【C语言】

目录 一、为什么使用文件 二、什么是文件 1、程序文件 2、数据文件 3、文件名 三、文件的打开和关闭 1、文件指针 2、文件的打开和关闭 四、文件的顺序读写 五、文件的随机读写 1、fseek 2、ftell 3、rewind 七、文件读取结束的判定 1、被错误使用的feof 1、文…

unocss原子化

文章目录1. 安装2. 配置3. Unocss预设3.1 presetUno3.2 presetAttributify3.3 presetIcons了解什么是UnoCSS请看&#xff1a;重新构想原子化CSS - 知乎 github地址&#xff1a;UnoCSS UnoCSS搜索引擎 1. 安装 npm i -D unocss2. 配置 vite.config.ts import { defineConf…

分享微信抽奖小程序制作步骤_微信抽奖小程序怎么开发

各位商家在节日期间做活动的时候&#xff0c;都希望用更少的费用去或者更好的宣传和推广的效果。比较常见的就是抽奖活动小程序。无须玩家下载&#xff0c;通过微信扫码或者指定入口就可以参与。方便&#xff0c;效果又好。那么,性价比高的抽奖活动小程序怎么做&#xff1f; 来…

LabVIEW使用VI脚本重新排列对象

LabVIEW使用VI脚本重新排列对象VI脚本可用来重新排列前面板和程序框图的对象。该教程以程序框图对象重新排列为例。按照下列步骤&#xff0c;使用VI脚本重新排列程序框图对象。创建VI前&#xff0c;需先了解VI脚本的基本内容。必须启用VI脚本&#xff0c;才能显示VI脚本选板&am…

solr-cloud集群

Zookeeper集群搭建完成&#xff0c;下面开始构建solr-cloud从复制四个tomcat实例开始将配置好的单机版solr复制到tomcat实例下修改tomcat端口号vim tomcat01/conf/server.xmlvim tomcat02 /conf/server.xml使用配置好的单机版solrhome关联solr和solrhomevim tomcat01/webapps/s…