集成样例代码
前置条件
环境要求
sdk: '>=3.0.0 <4.0.0'
flutter: '>=3.3.0'
插件依赖
plugin_platform_interface
flutter_plugin_android_lifecycle
集成方式
从 pub.dev 添加核心插件
2.安装依赖关系
从终端 运行 flutter pub get。
从 VS 代码: 单击位于 pubspec.yaml 顶部操作功能区右侧、由下载图标指示的 Get Packages(获取软件包)。
从 Android Studio/IntelliJ:单击 pubspec.yaml 顶部操作功能区中的 Pub get。
获取配置文件
1. 小程序 SDK 的初始化依赖于从小程序控制台获取的小程序 SDK 配置文件;在开始集成小程序 SDK 前,需要从小程序控制台获取小程序 SDK 配置文件。
登录控制台后,请单击创建 Superapp。
2. 填写 Superapp 信息。
必填信息:
Superapp 名称:支持中文、大小写英文字母、数字、空格和部分特殊符号("+"、"="、","、"."、"@"、"-"、"_"),3-64个字符。
非必填信息:
Superapp 说明:此处可填写 superapp 的简介信息,主要用于团队内部查看。
Superapp icon:支持上传 jpg、png 格式的方形图片、分辨率为128*128,图片大小在 2M 以内,若不上传 logo 图片,则使用系统默认 icon 图片。
Scheme:只能包含小写字母和数字,不超过64个字符。设置 scheme 后,小程序(或小游戏)的二维码信息会包含 scheme,使用手机系统自带的扫码功能,可直接唤起 superapp 并打开小程序(或小游戏)。
3. 添加应用包名。
添加 Package name/Bundle ID 时,需要选择和填写的字段有:
类型:类型选择后不允许修改,非生产类型的包名仅用于 superapp 测试版本使用,每个月有使用设备数量限制(最多500)。
Package name/Bundle ID:只能包含小写字母(a-z)、数字(0-9)、点(.)和连字符(-),不超过 255 个字符。建议采用反向域名表示法,例如 com.example.myapp。
下载地址:只能包含大小写字母(a-z)、数字(0-9)、点(.)、连字符(-)和斜杠(/),不超过 2048 个字符。
4. 下载配置文件。
注意:
默认下载的配置文件的名称为:tcsas-android-configurations.json。
添加配置文件
1. 将配置文件放在 Flutter 项目中的某个位置。
2. 在项目根目录下添加名为 “tcsas-plugin-settings.json” 的文件。
3. 编辑 pubspec.yaml 文件并为上述文件添加 flutter 资源。
在 tcsas-plugin-settings.json 文件中,您可以选择配置 SDK 的设置。
Android:
|
configAssetsName | string | Android 配置文件路径 |
debug | bool | 启用 SDK 调试和日志 |
iOS:
|
configAssetsName | string | iOS 配置文件路径 |
debug | bool | 启用 SDK 调试 |
logEnable | bool | 启用 SDK 日志 |
inspectableEnabled | bool | iOS 16.4 后启用可检查功能,可通过 Safari 调试小程序 |
通用:
|
appName | string | 主机应用程序名称,主要用于小程序中的版权提示 |
appVersion | string | 主机应用程序版本,主要用于小程序中的版权提示 |
assetPathOfPresets | string | 预置离线小程序目录,需要提供 Flutter assets 下的相对路径 |
示例内容:
{
"android": {
"configAssetsName": "tcsas-android-configurations.json",
"debug": true
},
"ios": {
"configAssetsName": "tcsas-ios-configurations.json",
"debug": true,
"logEnable": true,
"inspectableEnabled": true
},
"common":{
"appName": "tcmpp-flutter",
"appVersion": "1.0.0",
"assetPathOfPresets": "res/offline"
}
}
对于 Android,在 Flutter 项目中打开 android > app > build.gradle,applicationId 可在 android > defaultConfig 部分找到。
对于 iOS,在 Flutter 项目中打开 iOS > Runner.xcodeproj > project.pbxproj,搜索 PRODUCT_BUNDLE_IDENTIFIER。
特定平台
针对安卓平台
1. 打开 android > app 目录,编辑 build.gradle 文件。
2. 在 android > defaultConfig 部分,将 minSdkVersion 改为不小于 21。
3. 在 android > defaultConfig 部分,添加 packagingOptions。
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'
}
用于 iOS 平台
添加来源
在 iOS 目录中的 Podfile 文件中,添加源代码:
source 'https://github.com/TCMPP-Team/tcmpp-repo.git
source 'https://github.com/CocoaPods/Specs.git'
执行 pod 安装
cd 到 iOS 目录,执行 pod install:
打开小程序
使用 API, import 'package:tcmpp_flutter/tcmpp_flutter.dart'
然后创建一个 TcmppFlutter 对象,并用它来调用 API 打开小程序。