Flutter集成原子化服务插件atome_sdk_flutter的使用

Flutter集成原子化服务插件atome_sdk_flutter的使用

开始使用

pubspec.yaml文件中添加以下依赖项:

dependencies:
  atome_sdk_flutter: ^0.0.2

执行flutter pub get以安装依赖。

使用步骤

对于iOS用户:

Info.plist文件中添加以下配置:

  1. 添加“Queried URL Schemes”到您的info.plist文件中。
  2. 类型为“Array”,添加一个字符串值“apaylater”。

例如:

image

初始化插件

final _atomeSdkFlutterPlugin = AtomeSdkFlutter();

检查Atome是否已安装

final isAtomeInstalled = await _atomeSdkFlutterPlugin.isAtomeInstalled();

打开Atome链接以启动Atome应用

final result = await _atomeSdkFlutterPlugin.openAtomeLink("xxxPaymentUrl");

完整示例代码

以下是完整的示例代码,展示如何在Flutter中集成和使用atome_sdk_flutter插件。

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

import 'package:flutter/services.dart';
import 'package:atome_sdk_flutter/atome_sdk_flutter.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> {
  bool _isAtomeInstalled = false; // 是否安装了Atome应用的状态变量
  final _atomeSdkFlutterPlugin = AtomeSdkFlutter(); // 初始化插件实例

  [@override](/user/override)
  void initState() {
    super.initState();
    initPlatformState(); // 初始化平台状态
  }

  // 平台消息异步初始化
  Future<void> initPlatformState() async {
    bool isAtomeInstalled;
    try {
      isAtomeInstalled = await _atomeSdkFlutterPlugin.isAtomeInstalled() ?? false;
    } on PlatformException {
      isAtomeInstalled = false;
    }

    if (!mounted) return; // 如果组件被移除,则不更新UI

    setState(() {
      _isAtomeInstalled = isAtomeInstalled;
    });
  }

  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Atome SDK 示例'), // 应用标题
        ),
        body: Center(
          child: Column(
            mainAxisSize: MainAxisSize.min, // 垂直方向最小尺寸
            children: [
              Text('Atome 安装状态: $_isAtomeInstalled\n'), // 显示Atome安装状态
              MaterialButton(
                color: Colors.yellow, // 按钮颜色
                onPressed: () async {
                  // 调用插件方法打开Atome支付链接
                  await _atomeSdkFlutterPlugin.openAtomeLink("https://xxxPaymentUrl");
                },
                child: const Text('打开Atome'), // 按钮文本
              ),
            ],
          ),
        ),
      ),
    );
  }
}

更多关于Flutter集成原子化服务插件atome_sdk_flutter的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter集成原子化服务插件atome_sdk_flutter的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


在Flutter中集成原子化服务插件 atome_sdk_flutter 可以帮助你快速接入原子化服务,实现应用的轻量化、模块化等功能。以下是集成 atome_sdk_flutter 的基本步骤:

1. 添加依赖

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

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

然后运行 flutter pub get 来获取依赖。

2. 初始化SDK

在你的Flutter应用中,通常需要在 main.dart 文件中初始化 atome_sdk_flutter

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

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  
  // 初始化Atome SDK
  await AtomeSdkFlutter.init(
    appId: 'YOUR_APP_ID',  // 替换为你的App ID
    appKey: 'YOUR_APP_KEY',  // 替换为你的App Key
  );

  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Atome SDK Example',
      home: HomeScreen(),
    );
  }
}

3. 使用原子化服务

在初始化完成后,你可以在应用中使用 atome_sdk_flutter 提供的功能。例如,启动一个原子化服务:

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

class HomeScreen extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Atome SDK Example'),
      ),
      body: Center(
        child: ElevatedButton(
          onPressed: () async {
            // 启动原子化服务
            await AtomeSdkFlutter.launchService(
              serviceId: 'YOUR_SERVICE_ID',  // 替换为你的Service ID
              params: {'key': 'value'},  // 传递的参数
            );
          },
          child: Text('Launch Service'),
        ),
      ),
    );
  }
}

4. 处理回调

你可以通过监听回调来处理原子化服务的返回结果。

AtomeSdkFlutter.setResultHandler((result) {
  // 处理返回结果
  print('Service result: $result');
});
回到顶部