Skip to main content

Initialize the Flutter SDK

Rokt's SDK for Flutter applications can be used by Rokt partners to display overlay or embedded placements, or by Rokt advertisers to record conversions for campaigns. The Rokt SDK for Flutter is deployed to pub.dev .

All use cases of the SDK will follow the same initial steps to integrate and initialize the SDK in your application. At a high level, these steps are:

  1. Integrating the SDK into your Flutter application
  2. Configuring for Android applications
  3. Initialize the Rokt SDK

Following these steps, the execute method of the SDK can then be used in various ways to suit the required use case.

Integrate the SDK into your Flutter application

To integrate the SDK into your Flutter application, you need to:

  1. Add the rokt_sdk: ^4.6.1 to dependencies of pubspec.yaml file.
  2. Run Flutter Pub Get via terminal or Android Studio.

Configure for Android

To configure the Rokt Flutter SDK for Android applications, you need to:

  1. Set the minSdkVersion and enable multidex in android/app/build.gradle:
android {
defaultConfig {
minSdkVersion 21
multidexEnabled true
}
}

This means that app will only be available for users that run Android SDK 19 or higher.

  1. Include appcompat dependency implementation
implementation 'androidx.appcompat:appcompat:x.x.x'

The theme of android/app should extend from AppCompat theme family, example:

<style name="NormalTheme" parent="Theme.AppCompat.DayNight.DarkActionBar"/>
  1. Change the parent activity of the MainActivity to FlutterFragmentActivity
// path: android/app/src/main/kotlin/<your-package>/MainActivity.kt
import io.flutter.embedding.android.FlutterFragmentActivity

class MainActivity : FlutterFragmentActivity()

Initialize the Rokt SDK for Flutter

Initialize the Rokt SDK for Flutter prior to using it. We recommend calling the initialize method early in the application.

caution

Contact Rokt for the Rokt Account ID associated with your account. In order to test your integration, you can use the tes account ID below. Remember, however, that this needs to be replaced by your unique Rokt Account ID before launching.

Test Rokt Account ID: 222

import 'package:rokt_sdk/rokt_sdk.dart';

// The following will reveal a demo integration. To view your integration:
// 1) Replace the integration test tag ID (222) with your unique Rokt Tag ID
// 2) Replace 1.0.0 with the application version
RoktSdk.initialize('222', appVersion: '1.0.0');

Receiving initialization status

From version 4.6.0, the Rokt SDK broadcasts initialization status through its EventChannel.

final EventChannel roktEventChannel = EventChannel('RoktEvents');

roktEventChannel.receiveBroadcastStream().listen((dynamic event) {
if (event["event"] == "InitComplete") {
debugPrint("Rokt init completed with status ${event["status"]}");
}
});

Debugging

Use the RoktSdk.setLoggingEnabled(enable: true); API to enable debug logs from the Rokt SDK.

Next steps

Your next steps depend on the use case of your integration. Check out these resources for more information:

Was this article helpful?