tencent cloud

文档反馈

扩展组件 SDK

最后更新时间:2024-11-14 16:19:59
    小程序的主 SDK(mini_core) 提供了小程序运行时基本能力,除 mini_core 以外,小程序 SDK 还提供如下的扩展组件,宿主应用可以根据需要进行接入。

    扫码扩展 SDK

    组件说明:开发者小程序如果使用了小程序扫码能力,则需要添加如下 SDK 支持扫码功能;如未使用,建议暂不添加,这样可以减小 App 包大小。
    集成方法:按照如下的方式添加扫码扩展库依赖:
    //扫码扩展组件
    implementation 'com.tencent.tcmpp.android:mini_extra_qrcode:${version}' // 版本信息请参考 Android SDK 更新动态
    添加扫码扩展 SDK 后,增加支持的小程序 API 列表如下:
    API 名称
    说明
    wx.scanCode
    调起客户端扫码界面进行扫码
    涉及权限:
    权限
    描述
    相机权限
    需要申请相机权限用于扫码
    文件读写权限
    需要申请文件读写权限用于识别本地图片中的二维码

    腾讯定位地图扩展 SDK

    组件说明:针对中国大陆地区 App 开发,开发者小程序如果使用了小程序地图能力,则需要添加如下 SDK 支持腾讯地图功能;如未使用,建议暂不添加,这样可以减小 App 包大小。
    集成方法:按照如下的方式添加地图扩展库依赖:
    implementation 'com.tencent.tcmpp.android:mini_extra_map:${version}'// 版本信息请参考 Android SDK 更新动态
    implementation 'com.tencent.map:tencent-map-vector-sdk:4.5.10' //版本信息参考腾讯地图文档
    implementation 'com.tencent.map:sdk-utilities:1.0.7'
    implementation 'com.tencent.map.geolocation:TencentLocationSdk-openplatform:7.4.7'
    您需要在您的腾讯位置服务控制台配置项目,并获取访问腾讯地图服务所需要的 API 密钥,详细操作,请参考 开发指南
    完成上述操作后,您需要在 Android 工程中配置您的 API 密钥。在 AndroidManifest.xml 文件中添加以下 meta-data,并将您的 API 密钥填入 (YOUR_API_KEY) 位置:
    <application
    ...
    <meta-data
    android:name="TencentMapSDK"
    android:value="(YOUR_API_KEY)" />
    ...
    </application>
    添加腾讯地图扩展 SDK 后,增加支持的小程序 API 列表如下:
    API 名称
    说明
    地图
    支持地图相关接口,包括地图展示,使用地图选择位置以及查询 POI 等
    涉及权限:
    权限
    描述
    定位权限
    需要使用定位权限用于显示地图定位

    Google 及华为定位地图扩展 SDK

    组件说明:针对境外 App 开发,开发者小程序如果使用了小程序地图能力,需要添加如下 SDK 支持 Google Map 功能;如未使用,建议暂不添加,这样可以减小 App 包大小。
    集成方法:按照如下的方式添加地图扩展库依赖:
    implementation 'com.tencent.tcmpp.android:mini_extra_google_map:${version}'//版本信息请参考 Android SDK 更新动态
    implementation 'com.google.android.gms:play-services-maps:18.1.0' //版本信息参考谷歌地图文档(需要外网访问)
    implementation 'com.google.maps.android:android-maps-utils:2.3.0'
    由于部分华为设备不支持内嵌 Google Map,可能导致地图无法显示。您可以额外接入 Petal Map 作为补充方案,小程序框架将在华为设备上优先使用 Petal Map。
    repositories {
    maven {url 'https://developer.huawei.com/repo/'}
    }
    implementation 'com.tencent.tcmpp.android:mini_extra_huawei_map:${version}'//版本信息请参考 Android SDK 更新动态
    implementation 'com.huawei.hms:maps:6.9.0.300' //版本信息参考华为地图文档
    implementation 'com.huawei.hms:maps-basic:6.9.0.300'
    implementation 'com.huawei.hms:site:6.5.1.300'
    使用 Google Map 的情形,您需要在您的 Google Cloud Console 配置 Google Cloud 项目,并获取访问 Google 地图服务所需要的 API 密钥,具体操作步骤请参考在 Google Cloud Console 中进行设置以及使用 API 密钥
    完成上述操作后,您需要在 Android 工程中配置您的 API 密钥。在 AndroidManifest.xml 文件中添加以下 meta-data,并将您的 API 密钥填入 (YOUR_API_KEY) 位置:
    <application
    ...
    <meta-data
    android:name="com.google.android.geo.API_KEY"
    android:value="(YOUR_API_KEY)" />
    ...
    </application>
    使用 Petal Map 的情形,您需要在您的华为管理控制台建立项目、开通地图以及位置服务并获取位置服务所使用的 API 密钥,具体操作步骤,请参考 配置 AppGallery Connect。然后按照 集成 HMS Core SDK 的引导下载“agconnect-services.json”文件至您的项目中并配置华为 AGC 插件。
    您需要在 AndroidManifest.xml 文件中添加以下 meta-data,并将您的 API 密钥填入 (YOUR_API_KEY) 位置以正常使用华为的位置服务:
    <application
    ...
    <meta-data
    android:name="HuaweiApiKey"
    android:value="(YOUR_API_KEY)" />
    ...
    </application>
    注意:
    出于安全考虑,建议您为位置服务单独申请 API 密钥。
    添加 Google、华为地图扩展 SDK 后,增加支持的小程序 API 列表如下:
    API 名称
    说明
    地图
    支持地图相关接口以及组件,包括地图展示,使用地图选择位置以及查询 POI 等
    涉及权限:
    权限
    描述
    定位权限
    需要使用定位权限用于显示地图定位

    直播组件扩展 SDK

    组件说明:如果您需要使用直播组件(live-player 和 live-pusher)进行直播推、拉流相关场景的开发,需要添加如下 SDK 以支持直播组件相关的功能的实现。
    集成方法:添加直播组件依赖。
    //直播组件支持库
    implementation 'com.tencent.tcmpp.android:mini_extra_trtc_live:${version}'//版本信息请参考Android SDK 更新动态
    //直播组件库
    implementation 'com.tencent.liteav:LiteAVSDK_Professional:latest.release' //版本信息参考腾讯云文档
    除了完成以上依赖的添加,您还需要重写实现 BaseMiniAppProxyImpl 的如下方法,提供直播组件需要的 LicenseUrl 和 LicenseKey,以完成直播组件的初始化信息配置;如果您未配置正确的 LicenseUrl 和 LicenseKey,会导致直播组件功能不可用。
    说明:
    LicenseUrl 和 LicenseKey 的获取方式可参考 新增与续期 License
    @ProxyService(proxy = MiniAppProxy.class)
    public class MiniAppProxyImpl extends BaseMiniAppProxyImpl {
    @Override
    public MiniConfigData configData(Context context, int configType, JSONObject params) {
    if(configType == MiniConfigData.TYPE_LIVE) {
    //Live直播配置
    MiniConfigData.LiveConfig liveConfig = new MiniConfigData.LiveConfig();
    //下面的key和url仅可用于demo
    liveConfig.licenseKey = "";
    liveConfig.licenseUrl = "";
    
    return new MiniConfigData
    .Builder()
    .liveConfig(liveConfig)
    .build();
    }
    
    return null;
    }
    }
    添加直播扩展 SDK 后,增加支持的小程序 API 列表如下:
    API 名称
    说明
    wx.createLivePusherContext
    创建直播推流端 context
    LivePusherContext
    支持 LivePusherContext 相关接口
    wx.createLivePlayerContext
    创建直播拉流端 context
    LivePlayerContext
    支持 LivePlayerContext 相关接口
    Component
    -
    live-pusher
    推流标签
    live-player
    播放标签
    涉及权限如下:
    权限名称
    描述
    相机权限
    -
    录音权限
    -

    LBS 扩展 SDK

    组件说明:LBS 组件提供位置信息、罗盘、加速计、定位、设备方向的相关的能力。
    集成方法:按照如下的方式添加 LBS 扩展库依赖:
    implementation 'com.tencent.tcmpp.android:mini_extra_lbs:${version}'//版本信息请参考Android SDK 更新动态
    添加 LBS 扩展 SDK 后,增加支持的小程序 API 列表如下:
    API 名称
    说明
    位置信息
    支持位置信息相关接口
    罗盘
    支持罗盘相关接口
    加速计
    支持加速计相关接口
    设备方向
    支持设备方向相关接口
    陀螺仪
    支持陀螺仪相关接口
    LBS 扩展 SDK 涉及权限如下:
    权限
    说明
    定位
    获取定位依赖定位权限

    蓝牙扩展 SDK

    组件说明:添加蓝牙扩展库之后,即可使用蓝牙相关的 API。
    集成方法:按照如下的方式添加蓝牙扩展库依赖:
    implementation 'com.tencent.tcmpp.android:mini_extra_bluetooth:${version}'//版本信息请参考Android SDK 更新动态
    添加 LBS 扩展 SDK 后,增加支持的小程序 API 列表如下:
    API
    说明
    蓝牙-通用
    蓝牙通用接口
    蓝牙-低功耗外围设备
    外围设备相关接口
    蓝牙-低功耗中心设备
    中心设备相关接口
    蓝牙-信标
    蓝牙信标相关接口
    蓝牙扩展 SDK 涉及权限如下:
    权限
    说明
    蓝牙
    操作蓝牙需要申请蓝牙权限
    定位
    蓝牙设备搜索依赖定位权限

    NFC 扩展 SDK

    组件说明:添加 NFC 扩展 SDK,能够实现 NFC 读写相关的能力。
    集成方法:按照如下的方式添加 NFC 扩展 SDK 依赖:
    implementation 'com.tencent.tcmpp.android:mini_extra_nfc:${version}'//版本信息请参考Android SDK 更新动态
    添加 NFC 扩展 SDK 后,增加支持的小程序 API 列表如下:
    API 名称
    说明
    wx.getNFCAdapter
    获取 NFC 操作管理实例对象
    NFCAdapter
    支持 NFCAdapter 相关接口
    NFC 实例(NfcA、NfcB、NfcV、NfcF、Ndef、IsoDep、MifareUltralight、MifareClassic)
    支持 NFC 标签实例相关接口
    所涉及权限:
    权限名称
    描述
    NFC 权限
    需要获取 NFC 权限

    生物认证扩展 SDK

    组件说明:生物认证扩展 SDK 提供设备指纹、人脸识别相关的能力。
    集成方法:按照如下的方式添加生物认证扩展库依赖:
    implementation 'com.tencent.tcmpp.android:mini_extra_soter:${version}'//版本信息请参考Android SDK 更新动态
    添加生物认证扩展 SDK 后,增加支持的小程序 API 列表如下:
    API名称
    说明
    wx.startSoterAuthentication
    -
    wx.checkIsSupportSoterAuthentication
    -
    wx.checkIsSoterEnrolledInDevice
    -
    涉及权限:
    权限
    描述
    指纹访问
    需要申请指纹访问权限

    剪切板扩展 SDK

    组件说明:提供剪切板访问的能力。
    集成方法:按照如下的方式添加扩展库依赖:
    implementation 'com.tencent.tcmpp.android:mini_extra_clipboard:${version}'//版本信息请参考Android SDK 更新动态
    添加 LBS 扩展 SDK 后,增加支持的小程序 API 列表如下:
    API名称
    说明
    wx.getClipboardData
    -
    wx.setClipboardData
    -
    涉及权限:
    权限
    描述
    剪贴板权限
    需要申请剪切板访问权限

    通讯录扩展 SDK

    组件说明:提供联系人访问相关能力。
    集成方法:按照如下的方式添加扩展库依赖:
    implementation 'com.tencent.tcmpp.android:mini_extra_contact:${version}'//版本信息请参考Android SDK 更新动态
    添加通讯录扩展 SDK 后,增加支持的小程序 API 列表如下:
    API 名称
    说明
    wx.addPhoneContact
    添加联系人
    wx.chooseContact
    选择联系人
    涉及权限:
    权限
    描述
    联系人读写权限
    需要申请联系人访问、写入权限

    PDF扩展 SDK

    组件说明:提供PDF文档打开能力。
    集成方法:按照如下的方式添加扩展库依赖:
    implementation 'com.tencent.tcmpp.android:mini_extra_pdf:${version}'//版本信息请参考Android SDK 更新动态
    添加PDF扩展 SDK 后,增加支持的小程序 API 列表如下:
    API 名称
    说明
    wx.openDocument
    打开文档(仅支持PDF格式)

    媒体扩展 SDK

    组件说明:提供 chooseMedia、previewMedia 的默认实现。
    集成方法:按照如下的方式添加扩展库依赖:
    implementation 'com.tencent.tcmpp.android:mini_extra_media_support:${version}'//版本信息请参考Android SDK 更新动态
    实现 MediaImageLoaderProxy 代理,使用自定义的图片加载实现,用于 mini_extra_media_support 库的图片加载。
    说明:
    可以通过实现 MediaChooseJsProxy 代理,实现自定义的 chooseMedia 逻辑。
    @ProxyService(proxy = MediaImageLoaderProxy.class) public class CustomMediaImageLoaderProxy implements MediaImageLoaderProxy { private GlideImageEngine glideImageEngine = new GlideImageEngine(); @Override public ImageEngine getCustomImageEngine() { return glideImageEngine; } static class GlideImageEngine implements ImageEngine { @Override public void loadPhoto(@NonNull Context context, @NonNull Uri uri, @NonNull ImageView imageView) { Glide.with(context).load(uri).transition(withCrossFade()).into(imageView); } @Override public void loadGifAsBitmap(@NonNull Context context, @NonNull Uri gifUri, @NonNull ImageView imageView) { Glide.with(context).asBitmap().load(gifUri).into(imageView); } @Override public void loadGif(@NonNull Context context, @NonNull Uri gifUri, @NonNull ImageView imageView) { Glide.with(context).asGif().load(gifUri).transition(withCrossFade()).into(imageView);
    
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持