tcmpp_flutter 1.5.18
tcmpp_flutter: ^1.5.18 copied to clipboard
Flutter componet for tcmpp
TCMPP Flutter Plugin #
TCMPP Flutter Plugin is a Flutter plugin to provide access for TCMPP SDK in Flutter. For details of TCMPP, see: https://www.tencentcloud.com/products/tcmpp.
Add TCMPP Flutter Plugin #
Add plugin from Pub.dev #
-
Add dependecy
To add plugin from pub.dev, open the pubspec.yaml file located inside the app folder, and add tcmpp_flutter: ${version} under dependencies.
-
Install dependecy
- From the terminal: Run flutter pub get.
- From VS Code: Click Get Packages located in right side of the action ribbon at the top of pubspec.yaml indicated by the Download icon.
- From Android Studio/IntelliJ: Click Pub get in the action ribbon at the top of pubspec.yaml.
For details how to add Flutter plugins or packages, see Use packages & plugins
Add plugin from local dependency #
-
Unpack TCMPP Flutter plugin in project root directory.
-
Edit pubspec.yaml file, add tcmpp_flutter dependency. The path should be relative path of plugin to your project root path.
Add assets for TCMPP configuration files #
Get TCMPP configuration file from your TCMPP web console #
- Get appcation ID / bundle ID of your Android / IOS application.
- For Android, in your Flutter project, open android > app > build.gradle, application id can be found in android > defaultConfig section.
- For IOS, in your Flutter project, open ios > Runner.xcodeproj > project.pbxproj, search for PRODUCT_BUNDLE_IDENTIFIER.
-
Create Flutter Application on TCMPP web console.
- Login the Tencent Cloud Mini Program Platform Console and click 'Overview' in the left-hand navigation bar.
- On the Overview page, click Access Application.
- In the pop-up window for creating an application, fill in informations for your application.
- For Intergration platform section, check both IOS platfrom & Android Platform. Then fill application ID / bundle ID you got in the package name field.
- Click next, download Android / IOS configuration file in the new page.
Add configuration file #
-
Copy TCMPP configuration file to your Flutter project directory.
-
Edit pubspec.yaml file and add assets for TCMPP configuration files.
Platform specific #
For Android platform #
-
Open android > app directory, edit build.gradle file.
-
In android > defaultConfig section, change minSdkVersion to no less than 21.
minSdkVersion 21
- In android > defaultConfig section, add ndk filter for armeabi, armeabi-v7a, arm64-v8a.
ndk { abiFilters "armeabi", "armeabi-v7a", "arm64-v8a" }
- In android > defaultConfig section, add 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'
}
For IOS platform #
Add source
In the Podfile file in the ios directory, add source:
source 'https://e.coding.net/tmf-work/tmf/tmf-repo.git'
Execute pod install
cd to ios directory,execute pod install:
pod install
TCMPP Flutter APIs #
Usage #
-
To use TCMPP APIs, import 'package:tcmpp_flutter/tcmpp_flutter.dart'.
-
Then create a TcmppFlutter object and use it to call TCMPP APIs.
APIs #
Future<void> startMiniAppWithId(String appId, MiniStartOptions? options)
Start a mini program with given appId
- appId: The app id of mini program
- options: Start options of this mini program
Future<void> startMiniAppWithLink(String link, MiniStartOptions? options)
Start a mini program with given link
- link: The uri link to start
- options: Start options of this mini program
Future<ScanResult?> scan()
Start a new page to scan for QR codes, returns a ScanResult if found one
Future<List<AppInfo>?> getRecentList()
Get a list of recent opened mini programs
Future<List<AppInfo>?> searchMiniApp(String keyword,
{int pageIndex = 0, int pageSize = 0})
Search for online mini programs with given keyword
- keyWord: Keyword of mini program to search
- pageIndex: Page to return if pageSize has a none-zero value, which means paging is enabled.
- pageSize: The max size of a page returned by server. When set to 0, paging willl be disabled.
Classes #
MiniStartOptions
class MiniStartOptions {
/// entry path of mini program
String? entryPath;
/// is always update mini program when start
bool? isForceUpdate;
/// string param passed to mini program when start
String? params;
}
ScanResult
class ScanResult {
/// result string of qrcode or barcode contains
String? result;
/// the type of code
String? scanType;
/// charset of result string
String? charset;
}
AppInfo
class AppInfo {
/// MiniProgram id
String appId;
/// MiniProgram type (release, dev, etc.)
int appVerType;
/// MiniProgram version
String version;
/// MiniProgram name
String? name;
/// MiniProgram icon url
String? iconUrl;
/// MiniProgram description
String? appIntro;
/// Developer of MiniProgram
String? appDeveloper;
/// MiniProgram release time
int time;
}