Flutter应用跳转商店插件flutter_launch_store的使用

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

Flutter应用跳转商店插件flutter_launch_store的使用

flutter_launch_store 是一个用于在移动平台上启动应用商店的Flutter插件。它支持AppStore、PlayStore和AppGallery。

在Android上,它会检查是否安装了相应的供应商服务。如果同时安装了Google的服务和华为的服务,除非应用程序包ID以".huawei"结尾,否则默认会启动Google Play。

该插件是从原项目 store_launcher 分支出来的,因为原项目似乎已被放弃维护。

使用方法

要使用此插件,请将 flutter_launch_store 添加为您的 pubspec.yaml 文件中的依赖项:

dependencies:
  flutter_launch_store: ^最新版本号

注意:Android模拟器通常不会安装这些商店,因此建议您在真实设备上测试功能。

示例代码

下面是一个简单的示例,展示了如何使用 flutter_launch_store 插件来打开应用商店页面。

Dart 示例

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

void main() => runApp(MyApp());

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  final myController = TextEditingController();

  @override
  void dispose() {
    myController.dispose();
    super.dispose();
  }

  Future<void> openWithStore() async {
    var appId = myController.text;
    print('app id: $appId');
    try {
      await StoreLauncher.openWithStore(appId).catchError((e) {
        print('ERROR> $e');
      });
    } catch (e) {
      print(e.toString());
    }
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Plugin flutter_launch_store example app'),
        ),
        body: Container(
          padding: const EdgeInsets.all(12.0),
          child: Column(
            crossAxisAlignment: CrossAxisAlignment.center,
            mainAxisAlignment: MainAxisAlignment.center,
            children: [
              TextField(
                controller: myController,
                decoration: const InputDecoration(
                  hintText: 'Please enter Package Name',
                  border: OutlineInputBorder(borderSide: BorderSide(color: Colors.teal)),
                ),
              ),
              ElevatedButton(
                onPressed: openWithStore,
                child: const Text('Open With Store'),
              ),
            ],
          ),
        ),
      ),
    );
  }
}

iOS 配置

对于iOS,不要忘记在 Info.plist 中添加以下内容:

<key>LSApplicationQueriesSchemes</key>
<array>
    <string>itms-apps</string>
</array>

这样配置后,你的应用就可以通过 flutter_launch_store 插件来跳转到对应的应用商店页面了。无论是Google Play还是Apple App Store,甚至是华为的AppGallery都可以支持。


更多关于Flutter应用跳转商店插件flutter_launch_store的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter应用跳转商店插件flutter_launch_store的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


当然,下面是一个关于如何在Flutter应用中使用flutter_launch_store插件来实现跳转到应用商店的代码案例。

首先,确保你已经在pubspec.yaml文件中添加了flutter_launch_store依赖:

dependencies:
  flutter:
    sdk: flutter
  flutter_launch_store: ^0.0.4  # 请检查最新版本号

然后,运行flutter pub get来安装依赖。

接下来,在你的Flutter应用中,你可以按照以下步骤使用flutter_launch_store插件。

  1. 导入插件

在你的Dart文件中(例如main.dart),导入flutter_launch_store插件:

import 'package:flutter/material.dart';
import 'package:flutter_launch_store/flutter_launch_store.dart';
  1. 实现跳转功能

你可以创建一个按钮,当用户点击该按钮时,应用将跳转到指定的应用商店页面。以下是一个简单的示例:

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Flutter Launch Store Example'),
        ),
        body: Center(
          child: ElevatedButton(
            onPressed: () async {
              // 对于iOS,使用appStoreId;对于Android,使用packageName
              String appIdOrPackageName = Platform.isIOS
                  ? '123456789' // 替换为你的App Store ID
                  : 'com.example.myapp'; // 替换为你的Android应用包名

              try {
                bool launched = await LaunchStore.openAppStore(
                  appId: appIdOrPackageName,
                );
                if (launched) {
                  print('Successfully launched the store.');
                } else {
                  print('Failed to launch the store.');
                }
              } catch (e) {
                print('Error launching the store: $e');
              }
            },
            child: Text('Open in Store'),
          ),
        ),
      ),
    );
  }
}

在这个示例中,我们创建了一个简单的Flutter应用,其中包含一个按钮。当用户点击该按钮时,应用将尝试打开应用商店并导航到指定的应用页面。对于iOS,你需要提供App Store ID;对于Android,你需要提供应用包名。

注意:在实际应用中,你可能需要根据平台动态地设置appIdOrPackageName的值,这可以通过使用Platform.isIOS来检查当前平台。

  1. 处理可能的错误

在上面的代码中,我们使用了try-catch块来处理可能发生的错误。这是一个良好的实践,因为它允许你捕获并处理任何可能发生的异常,从而提供更好的用户体验。

这个示例应该能够帮助你理解如何在Flutter应用中使用flutter_launch_store插件来实现跳转到应用商店的功能。如果你有任何其他问题或需要进一步的帮助,请随时提问!

回到顶部