Flutter Integration
Marigold Mobile Flutter SDK
The Marigold Mobile Flutter SDK enables seamless integration of Marigold’s messaging and analytics capabilities into Flutter applications for both Android and iOS platforms. This plugin serves as a bridge between your Flutter app and the native Marigold SDKs.
Installation
Add the plugin to your pubspec.yaml
:
dependencies:
marigold_mobile_flutter_sdk: <latest_version>
Then run
flutter pub get
iOS Setup
Follow the steps below to configure the Marigold Flutter SDK on iOS.
1. Set the Minimum iOS Version
Open your ios/Podfile
and set the platform version to 12.0 or higher:
platform :ios, '12.0'
Then, run:
cd ios
pod install
2. Configure AppDelegate.swift
AppDelegate.swift
Update your AppDelegate.swift file to initialize the Marigold SDK:
import Marigold
@UIApplicationMain
@objc class AppDelegate: FlutterAppDelegate {
override func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool {
GeneratedPluginRegistrant.register(with: self)
let marigold = Marigold()
try! marigold.startEngine("<SDK_KEY>")
return super.application(application, didFinishLaunchingWithOptions: launchOptions)
}
}
4. Info.plist Configuration
Ensure your Info.plist file includes any required configurations (e.g., permissions for push notifications, network access, etc.). Example for network permission:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
Android Setup
Follow these steps to configure the Marigold Flutter SDK in your Android project.
1. Set Minimum SDK Version
In android/app/build.gradle
, ensure the minimum SDK version is at least 21:
defaultConfig {
minSdkVersion 21
// other settings...
}
2. Add Internet Permission
Open android/app/src/main/AndroidManifest.xml and add the following line inside the tag (usually within ):
<uses-permission android:name="android.permission.INTERNET"/>
3. Call startEngine()
override fun onCreate() {
super.onCreate()
Marigold().startEngine(this, "<SDK_KEY>")
}
4. In order to get push working you'll also need to add the google-services.json.
Place your google-services.json file in:
android/app/google-services.json
Clean and Build
After setup, clean and rebuild your project:
flutter clean
flutter pub get
flutter run
Updated 3 days ago