inuba_flutter_sdk 1.0.0 copy "inuba_flutter_sdk: ^1.0.0" to clipboard
inuba_flutter_sdk: ^1.0.0 copied to clipboard

iNuba Flutter SDK - Integration library for flutter mobile applications

iNuba Flutter SDK #

The iNuba Flutter SDK allows you to integrate iNuba services seamlessly into your Flutter application with type-safe configuration and bidirectional communication.

The package uses the flutter_inappwebview plugin to provide a robust WebView experience with bidirectional communication between Flutter and JavaScript.

To get your credentials, contact the iNuba development team.

Installation #

Add the iNuba Flutter SDK to your project by including it in your pubspec.yaml file:

dependencies:
  inuba_flutter_sdk: ^1.0.0

Then run:

flutter pub get

Quick Start #

Basic Usage #

Import the package in your project:

import 'package:inuba_flutter_sdk/inuba_flutter_sdk.dart';

Minimal integration:

INubaSDK(
  clientToken: 'your_client_token',
  userToken: 'your_user_token',
)

Advanced Configuration #

Full configuration with all available options:

INubaSDK(
  clientToken: 'your_client_token',
  userToken: 'your_user_token',

  // Optional white label
  whitelabel: Whitelabel.iNuba,

  // Optional environment
  environment: Environment.production,

  // Optional platform identification
  platform: Platform.android,

  // Optional display mode
  displayMode: DisplayMode.fullScreen,

  // Optional language
  language: Language.en,

  // Optional callbacks
  onDownload: (url, filename, downloadAndShare) {
    // Handle file download from WebView
    print('Download requested: $filename from $url');
  },

  onClose: (reason) {
    // Custom close behavior (defaults to Navigator.pop)
    print('SDK closed: $reason');
    Navigator.of(context).pop();
  },
)

Configuration Options #

Whitelabel #

  • Whitelabel.iNuba: Default iNuba branding (default)
  • Whitelabel.custom('YourBrand'): Custom branding (Contact iNuba to get your own branding)

Environment #

  • Environment.develop: Development environment (default)
  • Environment.production: Production environment

Platform #

  • Platform.android: Android platform (default)
  • Platform.ios: iOS platform

Display Mode #

  • DisplayMode.fullScreen: Full screen presentation (default)
  • DisplayMode.inlineView: Inline view presentation

Language #

  • Language.en: English language (default)
  • Language.es: Spanish language

Event Callbacks #

Download Event #

Handle file downloads initiated from the WebView:

onDownload: (String url, String filename, bool downloadAndShare) {
  // url: File URL to download
  // filename: Suggested filename
  // downloadAndShare: Whether to share after download
  
  // Implement your download logic here
}

Close Event #

Handle SDK close requests from the WebView:

onClose: (String reason) {
  // reason: Close reason from WebView (default: 'unknown')
  // Custom close logic
}

Note: If onClose is not provided, the SDK automatically calls Navigator.pop(context).

Android Configuration #

Add this provider configuration to your android/app/src/main/AndroidManifest.xml inside the <application> tag:

<provider
    android:name="com.pichillilorenzo.flutter_inappwebview_android.InAppWebViewFileProvider"
    android:authorities="${applicationId}.flutter_inappwebview_android.fileprovider"
    android:exported="false"
    android:grantUriPermissions="true">
    <meta-data
        android:name="android.support.FILE_PROVIDER_PATHS"
        android:resource="@xml/provider_paths"/>
</provider>

Testing and Development #

Best Practices #

For the best development and testing experience:

  • Use Physical Devices: While the SDK works on emulators, testing on physical devices is highly recommended for accurate performance evaluation. Android emulators may exhibit WebView rendering issues that don't occur on real devices.

  • Enable Hardware Acceleration: Ensure hardware acceleration is enabled on your test devices for optimal WebView performance.

  • Check Network Connectivity: The SDK requires active internet connection to communicate with iNuba services.

Example Application #

A complete example application is available in the example/ directory. To run it:

cd example
flutter run

See example/README.md for detailed integration instructions and best practices.

Support #

For questions or issues, please contact the iNuba development team.

License #

MIT License - see the LICENSE file for details.

3
likes
0
points
60
downloads

Publisher

verified publisheraldahirfernando.dev

Weekly Downloads

iNuba Flutter SDK - Integration library for flutter mobile applications

Homepage
Repository

License

unknown (license)

Dependencies

flutter, flutter_inappwebview

More

Packages that depend on inuba_flutter_sdk