Flutter SDK Developer Reference: How do I initialize the Genuin SDK and load a feed?

The Genuin SDK allows brands and developers to quickly embed short-form video experiences, communities, groups, and interactive feeds into their applications with minimal development effort.

Using the SDK helps teams:

  • Launch community-driven experiences faster
  • Reduce development and integration time
  • Deliver native video feeds and embeds inside mobile apps
  • Enable personalized and interactive user journeys
  • Support community engagement, content discovery, and retention
  • Integrate deep linking, SSO, notifications, and analytics-ready experiences

The Quick Start setup is designed to help developers get the SDK running with only a few initialization steps before expanding into advanced integrations.

Quick Start Overview

The Genuin Flutter SDK supports:

FeatureSupported
Brand FeedYes
Communities & GroupsYes
Carousel EmbedYes
Full-Screen Feed EmbedYes
SSO LoginYes
Deep LinkingYes
Push NotificationsYes
Custom Loader SupportYes

Platform Requirements

PlatformMinimum VersionLanguageOrientationDestination
AndroidSDK 24Java / KotlinPortraitMobile
iOSiOS 13.0SwiftPortraitiPhone

How do I integrate the Genuin SDK in Flutter?

Step 1: Add the SDK dependency

Install the Genuin SDK package in your Flutter project.

index.html
dependencies:
  genuin_sdk: latest_version

Then run:

index.html
flutter pub get

Android Quick Start

Step 2: Configure Android repositories

Navigate to:

index.html
android/build.gradle

Add JitPack inside repositories:

index.html
allprojects {
    repositories {
        google()
        mavenCentral()

        maven {
            setUrl("https://jitpack.io")
        }
    }
}

Step 3: Set minimum SDK version

Navigate to:

index.html
android/app/build.gradle

Update:

index.html
android {
    defaultConfig {
        minSdk = 24
    }
}

Step 4: Initialize the SDK

Navigate to:

index.html
android/app/src/main/yourpackage/MainActivity.kt

Add:

index.html
import android.os.Bundle
import com.begenuin.genuin_sdk.GenuinSdkPlugin
import io.flutter.embedding.android.FlutterFragmentActivity

class MainActivity : FlutterFragmentActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        GenuinSdkPlugin.initSDK(
            this@MainActivity,
            "YOUR_API_KEY"
        )
    }
}

Use FlutterFragmentActivity instead of FlutterActivity.

Step 5: Load the Feed View

Inside your Flutter widget:

index.html
@override
Widget build(BuildContext context) {
  return MaterialApp(
    home: Scaffold(
      appBar: AppBar(
        title: const Text('Genuin SDK Example'),
      ),
      body: GenuinFeedView(),
    ),
  );
}

At this stage, the SDK is successfully integrated and ready to display content feeds.

iOS Quick Start

Step 1: Configure iOS deployment target

Navigate to:

index.html
ios/Podfile

Update:

index.html
platform :ios, '13.0'

Step 2: Initialize the SDK

Navigate to:

index.html
ios/Runner/AppDelegate.swift

Add:

index.html
import Flutter
import UIKit
import genuin_sdk

@main
@objc class AppDelegate: FlutterAppDelegate {

  override func application(
    _ application: UIApplication,
    didFinishLaunchingWithOptions launchOptions:
    [UIApplication.LaunchOptionsKey: Any]?
  ) -> Bool {

    GenuinSdkPlugin.initialize(
      apiKey: "YOUR_API_KEY",
      loaderName: "YOUR_LOTTIE_LOADER_NAME"
    )

    GeneratedPluginRegistrant.register(with: self)

    return super.application(
      application,
      didFinishLaunchingWithOptions: launchOptions
    )
  }
}

Step 3: Load the Feed View

index.html
@override
Widget build(BuildContext context) {
  return MaterialApp(
    home: Scaffold(
      appBar: AppBar(
        title: const Text('Genuin SDK Example'),
      ),
      body: GenuinFeedView(),
    ),
  );
}

How do I load carousel embeds?

Use the GenuinCarouselEmbedView.

index.html
SizedBox(
  height: 400,
  width: MediaQuery.of(context).size.width,
  child: const GenuinCarouselEmbedView(
    embedId: "YOUR_EMBED_ID",
    uniqueId: "UNIQUE_ID",
    ssoToken: "YOUR_SSO_TOKEN",
    isShowProfileEnabled: false,
    isDirectDeepLinkEnabled: false,
  ),
)

How do I load a full-screen feed embed?

Use the GenuinFeedEmbedView.

index.html
SizedBox(
  height: MediaQuery.of(context).size.height,
  width: MediaQuery.of(context).size.width,
  child: const GenuinFeedEmbedView(
    embedId: "YOUR_EMBED_ID",
    uniqueId: "UNIQUE_ID",
    ssoToken: "YOUR_SSO_TOKEN",
    isShowProfileEnabled: false,
    isDirectDeepLinkEnabled: false,
  ),
)

Common Embed Parameters

ParameterPurpose
embedIdThe embed experience to load
uniqueIdHelps differentiate multiple embeds
ssoTokenEnables automatic user login
interactionDeepLinkRedirects interactions to a custom deep link
isDirectDeepLinkEnabledOpens content directly inside the white-labeled app
isShowProfileEnabledDisplays profile and account options

How do I enable deep linking?

Android

Update:

index.html
android/app/src/main/AndroidManifest.xml

Add:

index.html
<intent-filter android:autoVerify="true">
    <action android:name="android.intent.action.VIEW" />

    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />

    <data
        android:host="YOUR_WHITE-LABELLED_DOMAIN"
        android:scheme="https" />
</intent-filter>

Then handle deep links in MainActivity.kt.

iOS

Handle deep links inside:

index.html
AppDelegate.swift

Using:

index.html
GenuinSdkPlugin.handleDeepLink(
    dlURL: userActivity.webpageURL,
    controller: window?.rootViewController
)

How do I enable push notifications?

The SDK supports Firebase Cloud Messaging (FCM).

Requirements

  • Firebase project setup
  • Firebase Messaging integration
  • Token registration with Genuin SDK

Register the FCM token

index.html
final _genuinSdkPlugin = GenuinSdk();

String? token = await messaging.getToken();

if (token != null) {
  await _genuinSdkPlugin.registerFCMToken(token);
}

How do I enable SSO login?

To automatically authenticate users inside the SDK:

index.html
final _genuinSdkPlugin = GenuinSdk();

await _genuinSdkPlugin.ssoLogin(
    "YOUR_SSO_TOKEN"
);

How do I log users out from the SDK?

index.html
await _genuinSdkPlugin.ssoLogout();

How can I customize the SDK loader?

The SDK uses a Lottie animation loader by default.

To override it:

Android

Place:

index.html
loader_mix.json

inside:

index.html
android/app/src/main/res/raw

iOS

Add your Lottie file into the app resources and reference it during SDK initialization:

index.html
loaderName: "YOUR_LOTTIE_LOADER_NAME"

Best Practices

  • Use SSO for seamless authentication
  • Enable deep linking for smoother navigation
  • Configure push notifications for engagement and retention
  • Use unique IDs when rendering multiple embeds
  • Implement white-labeled domains before enabling direct deep linking
  • Use Material Components theme on Android for compatibility

Specs & Limitations

AreaDetails
Android Minimum SDK24
iOS Minimum Version13.0
Supported OrientationPortrait only
Supported PlatformsAndroid & iPhone
Flutter Activity RequirementMust use FlutterFragmentActivity
Push NotificationsRequires Firebase setup
Direct Deep LinkingRequires white-labeled domain
Loader CustomizationSupports Lottie animations
Multiple EmbedsRequires uniqueId
Material Theme DependencyRequired for Android

Example Use Cases

Brand Community App

Embed a vertical feed experience directly inside a branded mobile application.

Creator Communities

Launch interactive creator-led experiences with community discussions and engagement.

Commerce & Discovery Experiences

Use carousel embeds for product discovery, promotions, and storytelling.

Personalized Content Journeys

Combine SSO, interests, and deep linking to create seamless personalized experiences.

Related Articles

Genuin Footer