前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >2022年度 FinClip 扩展SDK推荐!

2022年度 FinClip 扩展SDK推荐!

原创
作者头像
凡泰极客
发布2023-01-19 10:50:09
5720
发布2023-01-19 10:50:09
举报
2022年度 FinClip 扩展SDK推荐!
2022年度 FinClip 扩展SDK推荐!

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

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

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

1、WeChatSDK

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

集成方式:

代码语言:javascript
复制
implementation 'com.finogeeks.mop:wechat:x.y.z'

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

代码语言:javascript
复制
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,集成后接口即可生效,无需配置。

集成方式:

代码语言:javascript
复制
implementation 'com.finogeeks.mop:bluetooth:x.y.z'

蓝牙SDK相关api概览

4、声网SDK

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

集成方式:

代码语言:javascript
复制
implementation 'com.finogeeks.mop:agora:x.y.z'

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

代码语言:javascript
复制
implementation 'io.agora.rtc:full-sdk:3.5.0'

声网SDK相关api概览

5、WebRTCSDK

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

集成方式:

代码语言:javascript
复制
implementation 'com.finogeeks.mop:webrtc:x.y.z'

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

代码语言:javascript
复制
implementation 'org.webrtc:google-webrtc:1.0.32006'

WebRTC SDK相关api概览

6、联系人SDK

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

集成方式:

代码语言:javascript
复制
implementation 'com.finogeeks.mop:contact:x.y.z'

联系人SDK相关api概览

7、剪贴板SDK

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

集成方式:

代码语言:javascript
复制
implementation 'com.finogeeks.mop:clipboard:x.y.z'

剪贴板SDK相关api概览

8、Media SDK

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

集成方式:

代码语言:javascript
复制
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文件中添加混淆规则:

代码语言:javascript
复制
# 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开发者来调用。

代码语言:javascript
复制
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开发者可以按照自己的需要制定相关的配置。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、WeChatSDK
  • 2、MapSDK
  • 3、蓝牙SDK
  • 4、声网SDK
  • 5、WebRTCSDK
  • 6、联系人SDK
  • 7、剪贴板SDK
  • 8、Media SDK
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档