Mobile Flutter integration

Integrating Appfigurate Library into a Mobile Flutter app

For simplicity, this guide will assume your Mobile Flutter app deploys to both iOS (Swift) and Android (Kotlin).

Prerequisites

You must have the following installed:

  • Android Studio, IntelliJ or Visual Studio Code.

  • Flutter 3.10.0+ SDK

  • Xcode 15.2+

  • iOS SDKs and associated Simulators.

  • Android SDKs and associated Emulators.

  • AppfigurateSE macOS or Windows app.

  • Appfigurate Simulator app installed into one or more iOS Simulators (use the AppfigurateSE macOS app for easy 1 click installation).

  • Appfigurate Emulator app installed into one or more Android Emulators (use the AppfigurateSE macOS or Windows app for easy 1 click installation).

  • Your iOS app must target iOS 13.0+ in order to include Appfigurate Flutter Plugin.

  • Your Android app must have a minimum API level 26 (Android 8.0 Oreo) in order to include Appfigurate Flutter Plugin.

Modify pubspec.yaml

In your app's pubspec.yaml add the following to the dependencies section:

appfigurateflutter: ^3.2.1

Perform a pub get to ensure the Appfigurate Flutter Plugin is successfully installed.

Update main.dart

In your apps main.dart file, initialize the Appfigurate Flutter Plugin:

main.dart initialization example

import 'package:appfigurateflutter/appfigurateflutter.dart';

void main() async {  
    await AppfigurateLibrary.initialize();
    ...

Create Dart APLNativeConfiguration subclass

In your app, add a new Dart class named Configuration.dart. Paste the following code:

Dart Configuration example

import 'package:appfigurateflutter/appfigurateflutter.dart';

class Configuration extends APLNativeConfiguration { 
    factory Configuration() => _instance;
    
    static Configuration _instance = Configuration._internal();

    Configuration._internal();

    bool get debugLogging => nativeBool("debugLogging");
    String get serverUrl => nativeString("serverURL");
}

You can now use the Configuration class throughout your Flutter app as follows:

if (Configuration().debugLogging) ...

Now jump to Flutter iOS.

Last updated