tencent cloud

文档反馈

SDK 快速集成

最后更新时间:2024-06-27 11:11:46
    快速集成将指导客户端开发人员集成一个最小化功能的小程序 SDK,实现小程序的打开功能。

    开始集成

    1. 配置在线仓库地址

    仓库地址的配置方式和当前项目中所使用的gradle插件版本相关;
    gradle 插件的版本为 Gradle 7.0以前版本的,参考方式一配置仓库信息。
    gradle 插件的版本为 Gradle 7.1及以后版本的,参考方式二配置仓库信息。
    方式一:Gradle 7.0以前版本配置。
    打开用户项目管理工具,在项目级 build.gradle 中添加如下配置。
    buildscript {
    dependencies {
    classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.32'
    }
    }
    
    allprojects {
    repositories {
    maven {
    url 'https://tcmpp-work-maven.pkg.coding.net/repository/tcmpp/android'
    }
    }
    }
    方式二:Gradle 7.1及之后版本配置。
    在项目级 settings.gradle 中添加如下配置。
    pluginManagement {
    repositories {
    maven {
    url 'https://tcmpp-work-maven.pkg.coding.net/repository/tcmpp/android'
    }
    }
    }
    dependencyResolutionManagement {
    repositories {
    maven {
    url 'https://tcmpp-work-maven.pkg.coding.net/repository/tcmpp/android'
    }
    }
    }

    2. kotlin 插件配置

    小程序 SDK 的配置同样需要根据 gradle 插件的版本进行配置,如下:
    方式一:Gradle 7.0以前版本。
    apply plugin: 'kotlin-android'
    apply plugin: 'kotlin-kapt'
    方式二:Gradle 7.1及之后版本。
    plugins {
    id "org.jetbrains.kotlin.android"
    id "org.jetbrains.kotlin.kapt"
    }

    3. 配置 packagingOptions

    打开应用级别的 build.gradle 文件,增加如下配置。
    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/libmarsxlog.so'
    pickFirst 'lib/armeabi/libmarsxlog.so'
    pickFirst 'lib/armeabi-v7a/libmarsxlog.so'
    pickFirst 'lib/arm64-v8a/libv8jni.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}'//版本信息请参考SDK 更新动态
    implementation 'com.tencent.tcmpp.android:mini_core:${version}'//版本信息请参考SDK 更新动态
    // mini app end
    }
    说明:
    配置中的 {version}需要替换为对应依赖的版本;版本信息参考 Android 更新日志
    如果开发者原来的工程中使用了 annotationProcessor 注解处理器,需要将所有 annotationProcessor 改为 kapt 注解器。
    如需使用同层渲染的能力,需要集成x5内核,可参考扩展组件SDK
    小程序SDK的依赖引入完毕后,可以开始进行小程序SDK的接入工作,如下面章节所示。

    接入前准备工作

    1. 获取配置文件

    小程序 SDK 的初始化依赖于从小程序控制台获取的小程序SDK配置文件;在开始集成小程序 SDK 前,需要从小程序控制台获取 小程序SDK配置文件。
    获取配置文件过程如下:
    登陆小程序控制台
    创建应用
    
    
    
    填写应用信息
    
    
    
    下载配置文件
    注意:
    注意:默认下载的配置文件的名称为:tcmpp-android-configurations.json
    

    2.添加配置文件到项目

    获取配置文件后,需要将配置文件拷贝到应用程序源码工程的 assets 路径中:
    
    注意:
    应用包名必须与配置文件中 packageName 保持一致,否则小程序 SDK 在运行时无法通过包名校验,导致 SDK 初始化异常。
    如果不一致,不能直接修改配置文件包名,应通过下面两种方式来修正:
    修改工程中应用包名,与配置文件中包名一致。
    控制台修改应用包名,与工程中应用包名保持一致,并重新下载配置文件。
    配置文件中的 packageName 字段,需要和当前项目的包名一致。
    

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

    继承实现 MiniConfigProxy 类;
    MiniConfigProxy 的实现类,添加注解如下:
    @ProxyService(proxy = MiniConfigProxy.class)
    参考代码如下:
    @ProxyService(proxy = MiniConfigProxy.class)
    public class MiniConfigProxyImpl extends MiniConfigProxy {
    /**
    * 应用Application
    * @return
    */
    @Override
    public Application getApp() {
    return "app Application";
    }
    
    /**
    * 创建初始化配置信息
    * @return
    */
    @Override
    public MiniInitConfig buildConfig() {
    MiniInitConfig.Builder builder = new MiniInitConfig.Builder();
    MiniInitConfig config = builder
    .configAssetName("tcmpp-android-configurations.json") //assets中配置文件名称
    .imei("IMEI") //配置设备id,⽤于在管理平台上根据设备标识进⾏⼩程序的灰度发布使⽤(可选)
    .autoRequestPermission(true) //配置小程序使用到需要权限的API时是否自动向用户申请对应的系统权限
    .debug(true) //日志开关,默认关闭的
    .build();
    }
    }
    注意:
    需要注意的是,MiniConfig 的 configAssetName 用于指定配置文件在源码工程中的路径和名称。
    至此,小程序SDK的接入就完成了。下一步,可以通过小程序 SDK 提供的 API 实现小程序的打开和预览。

    打开小程序

    打开小程序可以参考如下的实例代码:
    说明:
    appId 为小程序 ID,需要在小程序开发人员获取。
    
    TmfMiniSDK.startMiniApp(activity, appId, miniStartOptions);
    
    联系我们

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

    技术支持

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

    7x24 电话支持