Flutter未知功能插件tcmpp_flutter的探索使用

发布于 1周前 作者 gougou168 来自 Flutter

Flutter未知功能插件tcmpp_flutter的探索使用

TCMPP Flutter插件

TCMPP Flutter插件是一个用于在Flutter应用中访问TCMPP SDK的插件。有关TCMPP的详细信息,请参阅:腾讯云小程序平台。本快速指南将展示如何设置和使用TCMPP Flutter插件。


添加TCMPP Flutter插件

从Pub.dev添加TCMPP核心插件
  1. 添加依赖

    要从pub.dev添加插件,请打开位于项目文件夹内的pubspec.yaml文件,并在dependencies下添加tcmpp_flutter: ${version}

    dependencies:
      tcmpp_flutter: ^1.0.0 # 请替换为实际版本号
    
  2. 安装依赖

    • 从终端运行:flutter pub get
    • 在VS Code中:点击Get Packages(位于pubspec.yaml文件顶部操作栏右侧的下载图标)
    • 在Android Studio/IntelliJ中:点击Pub get(位于pubspec.yaml文件顶部操作栏)

添加TCMPP配置文件的资源

从TCMPP Web控制台获取TCMPP配置文件
  1. 获取您的Android/iOS应用程序的应用ID/包名

    • 对于Android,在您的Flutter项目中,打开android > app > build.gradle文件,可以在android > defaultConfig部分找到applicationId

      Android 包名

    • 对于iOS,在您的Flutter项目中,打开iOS > Runner.xcodeproj > project.pbxproj文件,搜索PRODUCT_BUNDLE_IDENTIFIER

      iOS 包名

  2. 在TCMPP Web控制台上创建Flutter应用

    • 登录腾讯云小程序平台控制台并点击左侧导航栏的“概览”。

    • 在概览页面上,点击“接入应用”。

    • 在弹出窗口中填写应用信息。

    • 在“集成平台”部分,勾选iOS平台和Android平台,并在包名字段中填入前面获取的应用ID/包名。

      创建应用

    • 点击下一步,在新页面下载Android/iOS配置文件。

      下载配置文件

  3. 添加配置文件

    • 将TCMPP配置文件放置在您的Flutter项目的某个位置。

    • 在项目根目录下添加一个名为"tcmpp-plugin-settings.json"的文件。

    • 编辑pubspec.yaml文件并添加上述文件的资源。

      flutter:
        assets:
          - tcmpp-plugin-settings.json
      
    • "tcmpp-plugin-settings.json"中指定TCMPP配置文件的路径。


SDK设置

"tcmpp-plugin-settings.json"文件中,您可以选择配置SDK的设置。

对于Android:

字段名称 类型 功能
configAssetsName string TCMPP Android配置文件路径
debug bool 启用SDK调试

对于iOS:

字段名称 类型 功能
configAssetsName string TCMPP iOS配置文件路径
debug bool 启用SDK调试
logEnable bool 启用SDK日志

对于通用设置:

字段名称 类型 功能
appName string 主机应用名称,主要用于小程序中的版权提示
appVersion string 主机应用版本,主要用于小程序中的版权提示

平台特定设置

对于Android平台
  1. 打开android > app目录,编辑build.gradle文件。

  2. android > defaultConfig部分,将minSdkVersion更改为不低于21。

    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://e.coding.net/tcmpp-work/tcmpp/tcmpp-repo.git'
source 'https://github.com/CocoaPods/Specs.git'
执行pod install

切换到iOS目录,执行pod install

pod install

pod install


TCMPP Flutter API

使用
  1. 要使用TCMPP API,请导入'package:tcmpp_flutter/tcmpp_flutter.dart'

    import 'package:tcmpp_flutter/tcmpp_flutter.dart';
    
  2. 然后创建一个TcmppFlutter对象并使用它调用TCMPP API。

    TcmppFlutter tcmpp = TcmppFlutter();
    
API
Future<void> startMiniAppWithId(String appId, MiniStartOptions? options)

启动具有给定appId的小程序。

  • appId: 小程序的appId
  • options: 这个小程序的启动选项
Future<void> startMiniAppWithLink(String link, MiniStartOptions? options)

通过给定链接启动小程序。

  • link: 启动的URI链接
  • options: 这个小程序的启动选项
Future<ScanResult?> scan()

启动一个新的页面来扫描小程序的二维码并启动小程序。

Future<List<AppInfo>?> getRecentList()

获取最近打开的小程序列表。

Future<List<AppInfo>?> searchMiniApp(String keyword, {int pageIndex = 0, int pageSize = 0})

根据给定的关键字搜索在线小程序。

  • keyWord: 搜索的小程序关键字
  • pageIndex: 如果pageSize有非零值,则返回的页码
  • pageSize: 服务器返回的最大页大小。当设置为0时,分页将被禁用。
Future<void> stopMiniApp(String appId)

停止具有给定appId的小程序。

  • appId: 小程序的appId
Future<void> stopAllMiniApp()

停止所有正在运行的小程序。

Future<void> deleteMiniAppCache(String appId, {int appVerType = 0, String? version})

删除具有给定ID的小程序的所有本地数据。

  • appId: 小程序的appId
  • appVerType: 小程序类型
  • version: 需要移除的小程序版本
Future<AppInfo?> currentMiniApp()

返回当前前台运行的小程序的信息。

class MiniStartOptions {
  /// 入口路径
  String? entryPath;

  /// 是否始终更新小程序
  bool? isForceUpdate;

  /// 启动时传递给小程序的字符串参数
  String? params;
}
class ScanResult {
  /// 二维码或条形码包含的结果字符串
  String? result;

  /// 代码类型
  String? scanType;

  /// 结果字符串的字符集
  String? charset;
}
class AppInfo {
  /// 小程序ID
  String appId;

  /// 小程序包类型(发布、开发等)。见[AppVerType]
  int appVerType;

  /// 小程序版本
  String version;

  /// 小程序名称
  String? name;

  /// 小程序图标URL
  String? iconUrl;

  /// 小程序描述
  String? appIntro;

  /// 小程序开发者
  String? appDeveloper;

  /// 小程序发布时间
  int time;
}
/// 小程序包类型的常量。见[AppInfo]
class AppVerType {
  static const int online = 0;
  static const int develop = 1;
  static const int preview = 2;
  static const int experience = 3;
}

更多关于Flutter未知功能插件tcmpp_flutter的探索使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter未知功能插件tcmpp_flutter的探索使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


探索和使用一个未知的Flutter插件(如tcmpp_flutter)时,通常需要查看该插件的官方文档、示例代码或者其GitHub仓库中的信息。由于我无法直接访问外部资源或未公开的插件代码,我将提供一个一般性的方法来探索和使用一个新的Flutter插件,并基于假设给出一个可能的代码示例。

步骤一:添加插件依赖

首先,你需要在你的pubspec.yaml文件中添加该插件的依赖。假设tcmpp_flutter插件的pub.dev页面提供了如下依赖项:

dependencies:
  flutter:
    sdk: flutter
  tcmpp_flutter: ^x.y.z  # 替换为实际的版本号

将上述依赖项添加到你的pubspec.yaml中,并运行flutter pub get来安装插件。

步骤二:导入插件

在你的Dart文件中导入该插件:

import 'package:tcmpp_flutter/tcmpp_flutter.dart';

步骤三:查看插件的API文档或示例代码

由于这是一个未知的插件,你需要查看其官方文档或示例代码来了解如何使用。通常,插件的GitHub仓库或pub.dev页面会有详细的API文档和示例代码。

假设的代码示例

基于假设,如果tcmpp_flutter插件提供了一个用于发送网络请求的功能,代码可能如下所示:

import 'package:flutter/material.dart';
import 'package:tcmpp_flutter/tcmpp_flutter.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('TCMPP Flutter Plugin Example'),
        ),
        body: Center(
          child: ElevatedButton(
            onPressed: () async {
              // 假设插件有一个sendRequest方法
              try {
                var response = await TcmppFlutter.sendRequest(
                  url: 'https://api.example.com/data',
                  method: 'GET',
                  headers: <String, String>{
                    'Content-Type': 'application/json',
                  },
                  // 其他可能的参数
                );

                // 处理响应
                print('Response: ${response.body}');
              } catch (e) {
                print('Error: $e');
              }
            },
            child: Text('Send Request'),
          ),
        ),
      ),
    );
  }
}

// 假设的TcmppFlutter类(实际使用时,请参考插件的文档)
class TcmppFlutter {
  static Future<HttpResponse> sendRequest({
    required String url,
    required String method,
    Map<String, String>? headers,
    // 其他可能的参数
  }) async {
    // 这里应该是插件实际的网络请求代码
    // 但由于我们不知道插件的具体实现,这里只是一个占位符
    throw UnimplementedError('This is a placeholder for the actual implementation.');
  }
}

// 假设的HttpResponse类(实际使用时,请参考插件的文档)
class HttpResponse {
  final int statusCode;
  final String body;

  HttpResponse({required this.statusCode, required this.body});
}

注意:上面的TcmppFlutter类和HttpResponse类只是占位符,用于展示如何使用一个假设的插件API。在实际使用中,你需要根据插件的实际API文档来编写代码。

步骤四:运行和调试

将上述代码添加到你的Flutter项目中,并运行应用。如果插件使用正确,你应该能够看到预期的结果。如果遇到问题,可以查看插件的issue跟踪器或寻求社区的帮助。

总之,探索和使用一个新的Flutter插件需要仔细阅读其官方文档和示例代码,并根据实际API来实现你的功能。

回到顶部