tencent cloud

SDK 快速集成

PDF
聚焦模式
字号
最后更新时间: 2026-02-10 19:54:17
快速集成将指导客户端开发人员集成一个最小化功能的小程序 SDK,实现小程序的打开功能。

开始集成

1. 在 settings.gradle 中配置仓库地址

pluginManagement {
repositories {
maven {
url 'https://maven-dev.tcmppcloud.com/fHKFBbEjd/repository/maven-public/'
}
}
}
dependencyResolutionManagement {
repositories {
maven {
url 'https://maven-dev.tcmppcloud.com/fHKFBbEjd/repository/maven-public/'
}
}
}

2. 在应用模块 build.gradle 中增加 kotlin 插件配置

plugins {
id "org.jetbrains.kotlin.android"
id "org.jetbrains.kotlin.kapt"
}

3. 在应用模块 build.gradle 中配置 packagingOptions

android {
defaultConfig {
packagingOptions {
pickFirst 'lib/arm64-v8a/libc++_shared.so'
pickFirst 'lib/armeabi/libc++_shared.so'
pickFirst 'lib/armeabi-v7a/libc++_shared.so'
pickFirst 'lib/arm64-v8a/libwechatxlog.so'
pickFirst 'lib/armeabi/libwechatxlog.so'
pickFirst 'lib/armeabi-v7a/libwechatxlog.so'
}
}
}

4. 配置小程序 SDK 的依赖

dependencies {
implementation 'com.google.android.material:material:1.3.0-alpha03'
implementation 'androidx.core:core-ktx:1.6.0'
//gosn
implementation 'com.google.code.gson:gson:2.8.6'
// ok-http
implementation 'com.squareup.okhttp3:okhttp:3.12.13'
// mini app start
// 注解处理器(必须)
kapt 'com.tencent.tcmpp.android:mini_annotation_processor:${version}'//版本信息请参考Android SDK 更新动态
// 核心库(必须)
implementation 'com.tencent.tcmpp.android:mini_core:${version}'//版本信息请参考Android SDK 更新动态
// 预置基础库(可选)
implementation 'com.tencent.tcmpp.android:mini_baselib:${version}'//版本信息请参考Android SDK 更新动态
// mini app end
}
说明:
配置中的 {version}需要替换为对应依赖的版本;版本信息请参见 Android SDK 更新动态
如果开发者原来的工程中使用了 annotationProcessor 注解处理器,需要将所有 annotationProcessor 改为 kapt 注解处理器。
小程序 SDK 的依赖引入完毕后,可以开始进行小程序 SDK 的接入工作,如下面章节所示。

接入前准备工作

1. 获取配置文件

小程序 SDK 的初始化依赖于从小程序控制台获取的小程序SDK配置文件;在开始集成小程序 SDK 前,需要从小程序控制台获取 小程序 SDK 配置文件。
获取配置文件过程如下:
1.1 登录小程序控制台
1.2 创建 superapp

1.3 填写 superapp 信息
必填信息:
Superapp 名称:支持中文、大小写英文字母、数字、空格和部分特殊符号("+"、"="、","、"."、"@"、"-"、"_"),3-64个字符。
非必填信息:
Superapp 说明:此处可填写 superapp 的简介信息,主要用于团队内部查看。
Superapp icon:支持上传 jpg、png 格式的方形图片、分辨率为128*128,图片大小在 2M 以内,若不上传 logo 图片,则使用系统默认 icon 图片。
Scheme:只能包含小写字母和数字,不超过64个字符。设置 scheme 后,小程序(或小游戏)的二维码信息会包含 scheme,使用手机系统自带的扫码功能,可直接唤起 superapp 并打开小程序(或小游戏)。



1.4 添加应用包名
添加 Package name/Bundle ID 时,需要选择和填写的字段有:
类型:类型选择后不允许修改,非生产类型的包名仅用于 superapp 测试版本使用,每个月有使用设备数量限制(最多500)。
Package name/Bundle ID:只能包含小写字母(a-z)、数字(0-9)、点(.)和连字符(-),不超过 255 个字符。建议采用反向域名表示法,例如 com.example.myapp。
下载地址:只能包含大小写字母(a-z)、数字(0-9)、点(.)、连字符(-)和斜杠(/),不超过 2048 个字符。


1.5 下载配置文件
注意:
默认下载的配置文件的名称为:tcsas-android-configurations.json。


2.添加配置文件到项目

获取配置文件后,需要将配置文件拷贝到 superapp 工程的 assets 路径中:

注意:
Superapp 包名必须与控制台应用包名保持一致,否则小程序 SDK 在运行时无法通过包名校验,导致 SDK 无法正常工作。

3.源码中增加小程序 SDK 的初始化配置

继承并实现 MiniConfigProxy 类;
MiniConfigProxy 的实现类,添加注解如下:
@ProxyService(proxy = MiniConfigProxy.class)
参考代码如下:
@ProxyService(proxy = MiniConfigProxy.class)
public class MiniConfigProxyImpl extends MiniConfigProxy {
/**
* 获取 superapp 的 Application 实例
* 注意:1. 小程序是多进程架构,请确保子进程也可以正常获取到 Application 实例。
* 2. Applicaton实例缓存建议在 Application.attachBaseContext 中进行,
* 避免因为组件时序问题导致 SDK 获取到空的 Application 实例。
* @return
*/
@Override
public Application getApp() {
//必须使用 superapp 的 Application 实例
return "your superapp Application";
}

/**
* 创建初始化配置信息
* @return
*/
@Override
public MiniInitConfig buildConfig() {
MiniInitConfig.Builder builder = new MiniInitConfig.Builder();
MiniInitConfig config = builder
.configAssetName("tcsas-android-configurations.json") // assets中配置文件名称
.autoRequestPermission(true) // 配置小程序使用到需要权限的API时是否自动向用户申请对应的系统权限
.debug(true) // 日志开关,默认关闭的
.build();
return config;
}
}
注意:
1. MiniInitConfig 的 configAssetName 用于指定配置文件在源码工程中的路径和名称。
2. 由于 SDK 最早会在内部 ContentProvider 中获取 superapp 的 Application 实例,因此 Application 实例缓存建议在 Application.attachBaseContext 方法中进行,可以避免因为时序问题导致 SDK 获取到空的 Application 实例。
至此,小程序 SDK 的接入就完成了。下一步可通过小程序 SDK 提供的 API 实现小程序的打开和预览。

打开小程序

打开小程序可以参考如下的示例代码:
说明:
appid 为小程序 ID,需要在小程序开发人员处获取。
TmfMiniSDK.startMiniApp(activity, appId, new MiniStartOptions());

实现图片加载接口

为了便于 superapp 对图片加载做统一管理控制,小程序 SDK 中没有提供默认的图片加载功能,而是提供了代理接口由 superapp 来实现,如果 superapp 不实现图片加载功能,会导致下列功能展示异常:
胶囊面板小程序图标
授权弹框小程序图标
loading 页面小程序图标
关于页面小程序图标
视频组件封面
cover-image 图片
头像
图片加载实现方式请参考:图片加载接口

小程序数据按账号隔离存储

若您的 superapp 支持多用户登录,且需避免小程序沙盒数据在不同用户间交叉共享,您需要实现 IMiniAppProxy.getAccount() 方法来返回差异化用户 ID,以此实现小程序沙盒数据按账号维度的隔离存储。
设置方法及注意事项请参考:设置用户 ID


帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈