inuba_flutter_sdk 0.5.0
inuba_flutter_sdk: ^0.5.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.
Installation #
Add the iNuba Flutter SDK to your project by including it in your pubspec.yaml file:
dependencies:
inuba_flutter_sdk: ^0.5.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>
Support #
For questions or issues, please contact the iNuba development team.
License #
MIT License - see the LICENSE file for details.