Flutter集成ElevenSDK功能插件elevensdk_flutter_plugin的使用

Flutter集成ElevenSDK功能插件elevensdk_flutter_plugin的使用

Elevensight SDK Flutter 插件

开始使用

该插件作为iOS和Android SDK的封装层,在其上创建了一个与原生API相似的Flutter API。

该插件在pub.dev上名为elevensdk_flutter_plugin。在那里发现它,遵循指示,你将能够充分利用该API。

安装

添加依赖

通过命令行添加依赖:

$ flutter pub add elevensdk_flutter_plugin

上述命令将在你的项目中的pubspec.yaml文件中添加以下内容(你可以手动完成这一步):

dependencies:
  elevensdk_flutter_plugin: ^1.0.0

安装

从终端安装包:

$ flutter pub get

请参阅"example"目录以获取该插件的工作示例。

对于Android,最低API级别为26。

要开始通话,只需添加以下代码并传入按钮ID:

_elevensdkFlutterPlugin.makeCall(buttonId);

示例代码

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

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

import 'package:flutter/services.dart';
import 'package:elevensdk_flutter_plugin/elevensdk_flutter_plugin.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> {
  // 请根据实际情况替换按钮ID
  final buttonId = "I42zw7hp1zIoN28qXdzFIJ5RAdKIVOeEJXlbyJaubuHQ8D4ivb";

  final _formKey = GlobalKey<FormState>();
  String _platformVersion = 'Unknown';
  final _elevensdkFlutterPlugin = ElevensdkFlutterPlugin();

  [@override](/user/override)
  void initState() {
    super.initState();
    initPlatformState();
  }

  Future<void> initPlatformState() async {
    String platformVersion;
    try {
      platformVersion = await _elevensdkFlutterPlugin.getPlatformVersion() ?? 
          'Unknown platform version';
    } on PlatformException {
      platformVersion = 'Failed to get platform version.';
    }
    if (!mounted) return;

    setState(() {
      _platformVersion = platformVersion;
    });
  }

  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Builder(builder: (ctx) {
        return Scaffold(
          appBar: AppBar(
            title: const Text('11SDK Flutter Plugin'),
          ),
          body: Center(
            child: Column(
              mainAxisAlignment: MainAxisAlignment.start,
              children: [
                Padding(
                  padding: const EdgeInsets.only(top: 16),
                  child: Text('Running on: $_platformVersion\n'),
                ),
                Form(
                    key: _formKey,
                    child: Padding(
                      padding: const EdgeInsets.all(16.0),
                      child: Column(
                        crossAxisAlignment: CrossAxisAlignment.center,
                        children: [
                          TextFormField(
                            initialValue: buttonId,
                            validator: (value) {
                              if (value == null || value.isEmpty) {
                                return '请输入您的按钮ID';
                              }
                              return null;
                            },
                          ),
                          const SizedBox(height: 24),
                          ElevatedButton(
                            onPressed: () {
                              if (_formKey.currentState!.validate()) {
                                onPressed(buttonId);
                              }
                            },
                            child: const Text('开始通话'),
                          )
                        ],
                      ),
                    )),
              ],
            ),
          ),
        );
      }),
    );
  }

  Future<void> onPressed(String buttonId) async {
    try {
      await _elevensdkFlutterPlugin.makeCall(buttonId);
    } on PlatformException {
      debugPrintStack();
    }
  }
}

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

1 回复

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


要在Flutter项目中集成 elevensdk_flutter_plugin 插件并使用 ElevenSDK 的功能,你可以按照以下步骤进行操作:

1. 添加依赖

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

dependencies:
  flutter:
    sdk: flutter
  elevensdk_flutter_plugin: ^1.0.0  # 请使用最新的版本号

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

2. 初始化 ElevenSDK

在你的 Dart 代码中,你需要初始化 ElevenSDK。通常,你可以在 main.dart 中进行初始化。

import 'package:elevensdk_flutter_plugin/elevensdk_flutter_plugin.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();

  // 初始化 ElevenSDK
  await ElevenSDK.initialize(
    apiKey: 'YOUR_API_KEY',  // 替换为你的 API Key
    environment: Environment.sandbox,  // 或者 Environment.production
  );

  runApp(MyApp());
}

3. 使用 ElevenSDK 功能

你可以在你的应用中使用 ElevenSDK 提供的各种功能。以下是一些常见的用例:

3.1 用户认证

try {
  final user = await ElevenSDK.authenticateUser(
    email: 'user@example.com',
    password: 'password123',
  );
  print('User authenticated: ${user.id}');
} catch (e) {
  print('Authentication failed: $e');
}

3.2 获取用户信息

try {
  final userInfo = await ElevenSDK.getUserInfo();
  print('User info: ${userInfo.toJson()}');
} catch (e) {
  print('Failed to get user info: $e');
}

3.3 发起支付

try {
  final paymentResult = await ElevenSDK.createPayment(
    amount: 1000,  // 金额(以分为单位)
    currency: 'USD',
    description: 'Test Payment',
  );
  print('Payment successful: ${paymentResult.transactionId}');
} catch (e) {
  print('Payment failed: $e');
}

4. 处理回调

ElevenSDK 可能会在某些操作完成后触发回调。你可以通过监听这些回调来处理相应的逻辑。

ElevenSDK.onPaymentSuccess.listen((paymentResult) {
  print('Payment success: ${paymentResult.transactionId}');
});

ElevenSDK.onPaymentFailure.listen((error) {
  print('Payment failed: $error');
});

5. 清理资源

在应用退出时,你可能需要清理 ElevenSDK 的资源。

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

6. 处理平台特定的配置

根据你的需求,你可能需要在 AndroidiOS 项目中进行一些额外的配置。请参考插件的文档或示例项目以获取更多信息。

7. 运行应用

完成以上步骤后,你可以运行你的 Flutter 应用,并测试 ElevenSDK 的功能。

flutter run
回到顶部