Flutter应用市场集成插件flutter_app_market的使用

Flutter应用市场集成插件flutter_app_market的使用

适用Android应用跳转到手机的各大应用市场,如华为、小米、OPPO、VIVO、魅族、联想、应用宝等各大主流的应用市场。

示例代码

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

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

class MyApp extends StatefulWidget {
  const MyApp({super.key});

  [@override](/user/override)
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  final plugin = FlutterAppMarket();
  bool? huawei;
  bool? xiaomi;
  bool? tencent;

  [@override](/user/override)
  void initState() {
    super.initState();
    
    // 检查华为应用市场是否已安装
    plugin.isInstalled(plugin.getPackageName('huawei')).then((res) {
      setState(() {
        huawei = res;
      });
    });

    // 检查小米应用市场是否已安装
    plugin.isInstalled(plugin.getPackageName('xiaomi')).then((res) {
      setState(() {
        xiaomi = res;
      });
    });

    // 检查应用宝是否已安装
    plugin.isInstalled(plugin.getPackageName('tencent')).then((res) {
      setState(() {
        tencent = res;
      });
    });
  }

  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('打开应用市场Example'),
        ),
        body: Center(
          child: Column(
            mainAxisSize: MainAxisSize.min,
            children: [
              // 显示华为应用市场是否已安装
              Text('华为应用市场是否安装:${huawei}'),

              // 打开华为应用市场的按钮
              ElevatedButton(
                onPressed: () {
                  plugin.openMarket(
                    updateAppPackageName: 'com.yhyx.aimeili', // 需要更新的应用包名
                    marketPackageName: plugin.getPackageName('huawei'), // 应用市场的包名
                  );
                },
                child: Text('华为应用市场'),
              ),

              // 显示小米应用市场是否已安装
              Text('小米应用市场是否安装:${xiaomi}'),

              // 打开小米应用市场的按钮
              ElevatedButton(
                onPressed: () {
                  plugin.openMarket(
                    updateAppPackageName: 'com.yhyx.aimeili', // 需要更新的应用包名
                    marketPackageName: plugin.getPackageName('xiaomi'), // 应用市场的包名
                  );
                },
                child: Text('小米应用市场'),
              ),

              // 显示应用宝是否已安装
              Text('应用宝是否安装:${tencent}'),

              // 打开应用宝的按钮
              ElevatedButton(
                onPressed: () {
                  plugin.openMarket(
                    updateAppPackageName: 'com.yhyx.aimeili', // 需要更新的应用包名
                    marketPackageName: plugin.getPackageName('tencent'), // 应用市场的包名
                  );
                },
                child: Text('应用宝'),
              ),

              // 打开其他应用(如微信)的按钮
              ElevatedButton(
                onPressed: () {
                  plugin.openOtherApp('weixin://'); // 微信的scheme
                },
                child: Text('打开微信'),
              ),
            ],
          ),
        ),
      ),
    );
  }
}

更多关于Flutter应用市场集成插件flutter_app_market的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter应用市场集成插件flutter_app_market的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


flutter_app_market 是一个用于在 Flutter 应用中打开应用市场(如 Google Play Store 或 Apple App Store)的插件。通过使用该插件,你可以方便地在应用中引导用户去应用市场更新应用或查看应用详情。

安装插件

首先,你需要在 pubspec.yaml 文件中添加 flutter_app_market 插件的依赖:

dependencies:
  flutter:
    sdk: flutter
  flutter_app_market: ^1.0.0  # 请使用最新版本

然后运行 flutter pub get 来安装插件。

基本用法

flutter_app_market 插件提供了 AppMarket 类,你可以使用它来打开应用市场。以下是一个简单的示例:

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

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Flutter App Market Example'),
        ),
        body: Center(
          child: ElevatedButton(
            onPressed: () {
              // 打开应用市场
              AppMarket.openAppStore(
                appId: 'com.example.app', // 替换为你的应用ID
              );
            },
            child: Text('Open App Store'),
          ),
        ),
      ),
    );
  }
}

参数说明

  • appId: 应用的唯一标识符。对于 Android 应用,通常是一个包名(如 com.example.app);对于 iOS 应用,通常是应用的 App Store ID。
  • writeReview: 是否直接打开应用的评论页面。默认为 false
  • referrer: 可选参数,用于指定引荐来源。

示例:打开应用市场并跳转到评论页面

ElevatedButton(
  onPressed: () {
    AppMarket.openAppStore(
      appId: 'com.example.app',
      writeReview: true, // 直接打开评论页面
    );
  },
  child: Text('Write a Review'),
)

示例:使用引荐来源

ElevatedButton(
  onPressed: () {
    AppMarket.openAppStore(
      appId: 'com.example.app',
      referrer: 'utm_source=myapp&utm_medium=button', // 使用引荐来源
    );
  },
  child: Text('Open App Store with Referrer'),
)
回到顶部