flyreel_sdk_flutter 0.1.3 copy "flyreel_sdk_flutter: ^0.1.3" to clipboard
flyreel_sdk_flutter: ^0.1.3 copied to clipboard

Flutter plugin for Flyreel SDK - an advanced property survey solution for U.S. insurance carriers.

Flyreel Flutter SDK #

Platform Platform Languages GitHub release

Requirements: #

Android #

  • Android 6+ (minSdk 23)
  • compileSdkVersion 34

iOS #

  • iOS 13+

Installation #

With flutter #

$ flutter pub add flyreel_sdk_flutter

Path dependency #

via ssh:

flyreel_sdk_flutter:
  git:
    url: git@github.com:Flyreel/flyreel-sdk-flutter.git

or

via https:

flyreel_sdk_flutter:
  git:
    url: https://github.com/Flyreel/flyreel-sdk-flutter.git

Usage #

Permissions on iOS #

Since the SDK actively uses some functionalities of the iOS system you need to provide a few permission settings in your Info.plist file.


<dict>
    // ...
    <key>NSCameraUsageDescription</key>
    <string>We need access to the camera.</string>
    <key>NSMicrophoneUsageDescription</key>
    <string>We need access to the camera.</string>
    <key>NSLocationWhenInUseUsageDescription</key>
    <string>We need access to your location data</string>
</dict>

Initialization #

To use the Flyreel SDK, you must provide a configuration with the following parameters:

organizationId: Identifier of your organization.

In your lib/main.dart file, initialize Flyreel using provided object:

import 'package:flyreel_sdk_flutter/flyreel_sdk_flutter.dart'; // import Flyreel SDK
import 'package:flyreel_sdk_flutter/flyreel_sdk_models.dart'; // import Flyreel SDK models

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

  // initialize Flyreel with organizationId and settingsVersion
  var config = FlyreelConfig(
    organizationId: "5d3633f9103a930011996475",
  );
  await Flyreel.initialize(config);

  runApp(const MyApp());
}

How to open Flyreel chat #

Invoke openFlyreel()

void openFlyreel() async {
  await Flyreel.open();
}

Deep Linking #

If you're launching the Flyreel flow from a deep link, push notification, or a custom solution where user details can be provided automatically, use:

void openFlyreelWithCredentials() async {
  await Flyreel.openWithCredentials(
    zipCode: "80212",
    accessCode: "6M4T0T",
  );
}

void openFlyreelWithUrl() async {
  await Flyreel.open(
      deeplinkUrl: "https://your.custom.url/?flyreelAccessCode=6M4T0T&flyreelZipCode=80212");
}

Custom fonts #

If you want to use a custom font for Flyreel chat, you have to provide a ttf file to both iOS and Android Platform.

  • in the Android directory, you can put the ttf file in the main/assets folder or the main/res/font folder.
  • for iOS, you have to go with the Apple instruction to add a custom font to your project.

Then, you can use the font's name in the Flyreel dashboard panel. For example, if you have added font my_font.ttf to the assets folder, you can use my_font as a font name in the Flyreel dashboard.

Debug Logs #

Enable debug logging for troubleshooting purposes:

void showLogs() async {
  await Flyreel.enableLogs();
}

Check Flyreel status for given access and zip code #

You can manually check Flyreel status. This function makes a network request to retrieve the status of Flyreel for the specified zip code and access code.

void checkFlyreelStatus() async {
  try {
    final result = await Flyreel.checkStatus(
      zipCode: "80212",
      accessCode: "6M4T0T",
    );
    print("Status: ${result.status}, expires: ${result.expiration}");
  } on PlatformException catch (e) {
    print("code: ${e.code}, message: ${e.message}");
  }
}

Enable debug logging for troubleshooting purposes:

void showLogs() async {
  await Flyreel.enableLogs();
}

Sandbox #

Verify your implementation in the sandbox mode. Initialize Flyreel with an additional parameter:

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  // ...
  var configuration = FlyreelConfiguration(
      organizationId = "7d3899f1421a7650241516475",
      environment = FlyreelEnvironment.Sandbox
  );

  await Flyreel.initialize(
      application = this,
      configuration = configuration
  );

  // ...
}

Analytics #

/// Subscribes to a stream of analytic events and handles each event with a provided closure.
///
/// This function observes a feed of analytic events from the SDK. When an event
/// is received, the provided handler closure is called with the event as its argument.
///
/// - Parameters:
///   - handler: A closure that is called with the analytic event emitted by the SDK.
///     The closure takes a single parameter:
///       - event: A `FlyreelAnalyticEvent` type that contains event's data.
///       
void observeFlyreelAnalytics() async {
  Flyreel.observeAnalyticEvents().listen((event) {
    debugPrint("event: ${event.toString()}");
  });
}

Firewall whitelisting #

Here is a list of Flyreel's hosts in case you need to whitelist URLs.

api3.flyreel.co
sandbox.api3.flyreel.co
3
likes
160
points
41
downloads

Publisher

verified publisherflyreel.co

Weekly Downloads

Flutter plugin for Flyreel SDK - an advanced property survey solution for U.S. insurance carriers.

Homepage

Documentation

API reference

License

MIT (license)

Dependencies

flutter, plugin_platform_interface

More

Packages that depend on flyreel_sdk_flutter

Packages that implement flyreel_sdk_flutter