butterfly_sdk_flutter_plugin 2.1.2 copy "butterfly_sdk_flutter_plugin: ^2.1.2" to clipboard
butterfly_sdk_flutter_plugin: ^2.1.2 copied to clipboard

A plugin for The Butterfly Mobile SDK (iOS + Android) that allows you use it in your Flutter mobile app.

example/lib/main.dart

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

import 'package:flutter/services.dart';
import 'package:butterfly_sdk_flutter_plugin/butterfly_sdk_flutter_plugin.dart';

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

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

class _MyAppState extends State<MyApp> {
  String _platformVersion = '2.1.1';

  static const String API_KEY = "test-bfc4a19d-a4d4-4c82-8d55-dcd43a246a72";

  @override
  void initState() {
    super.initState();
    initPlatformState();
  }

  // Platform messages are asynchronous, so we initialize in an async method.
  Future<void> initPlatformState() async {
    String platformVersion;
    try {
      platformVersion = await ButterflySdk.platformVersion ?? 'Unknown platform version';
    } on PlatformException {
      platformVersion = 'Failed to get platform version.';
    }

    if (!mounted) return;

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

  TextEditingController _deepLinkInputController = TextEditingController();

  @override
  Widget build(BuildContext context) {
    String imageFileName = "bf-logo.png";
    String imageRelativePath = "lib/res/img/$imageFileName";

    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Butterfly SDK example for Flutter'),
        ),
        body: Center(
          child: Column(
            children: [
              Text('Test deep link'),
              Padding(
                padding: const EdgeInsets.all(8.0),
                child: TextField(
                  keyboardType: TextInputType.url,
                  maxLines: 1,
                  maxLength: 1000,
                  controller: _deepLinkInputController,
                  decoration: InputDecoration(
                    border: OutlineInputBorder(),
                    labelText: 'Deep Link URL',
                  ),
                  onChanged: (text) {
                    // You can store the text in a variable if needed
                  },
                ),
              ),
              ElevatedButton(
                onPressed: () {
                  // https://some.website.com/?a1=b7
                  String inputText = _deepLinkInputController.text;
                  Uri.parse(inputText);
                  ButterflySdk.instance.handleDeepLinkString(linkString: inputText, apiKey: API_KEY);
                },
                child: Text('Handle Deep Link'),
              ),

            ],
          ),
        ),
        floatingActionButton: FloatingActionButton(child: Image(image: AssetImage(imageRelativePath),), onPressed: () {
          ButterflySdk.instance
            // ..overrideLanguage(supportedLanguage: "de")
            ..open(withKey: API_KEY);
        },),
      ),
    );
  }
}
1
likes
150
points
250
downloads

Publisher

unverified uploader

Weekly Downloads

A plugin for The Butterfly Mobile SDK (iOS + Android) that allows you use it in your Flutter mobile app.

Repository (GitHub)
View/report issues

Documentation

API reference

License

Apache-2.0 (license)

Dependencies

flutter

More

Packages that depend on butterfly_sdk_flutter_plugin

Packages that implement butterfly_sdk_flutter_plugin