Questera AI
  • Getting Started
    • Get Started with Questera AI
      • Overview of Questera
      • Why Choose Questera ?
      • Key Features & Benefits
      • How does it work?
    • Use Cases
      • Ecommerce & Retail
      • Saas
      • Subscriptions
  • Questera AI Platform
    • Data
      • Connect Data & Models
        • Data Ingestion
          • Snowflake
          • Amazon Redshift
          • Google BigQuery
          • Microsoft Azure
          • CSV
          • ESP (Email Service Provider)
          • CRM
        • Configure Models
          • Open AI
          • Gemini
      • Track & Measurements
        • Events
        • User Attributes
        • Counters
        • Metrics
        • Webhooks & Alerts
        • Feature Flags
    • Campaigns
      • Channels Supported in Questera
        • UI Campaigns
        • Email Campaigns
        • SMS Campaigns
        • Push Notifications Campaigns
        • In-App Messages Campaigns
        • WhatsApp Campaigns
      • Campaigns in Questera: Drive Growth Across Every Touchpoint
      • Omnichannel Marketing with Questera AI
      • Why Questera’s AI-Driven Approach Wins?
    • AI Audience Segments
    • Page
    • AI Variants
    • AI Flows
    • AI Agents
      • What are AI Agents?
      • Types of AI Agents
        • ELMA - Email Lifecycle Marketing Agent
        • GRETA - Growth Engineering Agent
        • SEGA - Intelligent Segmentation Agent
        • OMNIA - Omni-Channel Journey Creator Agent
        • GIA - Data Analysis & Graphical Interpretation Agent
        • SARA - Smart Ads Retargeting Agent
        • BECCA - Personalized Email Content Agent
        • LEXA - Language Optimization Agent
      • Create & Configure an Agents
        • Create your own marketing agents
        • Chat with Agents
    • Analytics & Reporting
      • Analytics
        • Overview of Analytics.
          • Dashboard Walkthrough
          • Add dashboard
          • Chat with data
    • Playground
      • Simulating User Interactions.
        • Test and Run Campaigns
    • Dataset
      • Connecting an external data source
      • Uploading your own file
  • Questera AI SDKs
    • SDK Component Categories
      • Onboarding
      • Engagement
      • User Assistance
      • Expansion
      • Miscellaneous
    • All Components
      • Onboarding
        • Onboarding Quiz
        • Login Component
      • Gamified Engagement
        • Rewards & Loyalty Component
        • Challenges
        • Leaderboard
        • Badges
        • Spin The Wheel
        • Scratch The Card
        • Gamified Quiz
        • Streaks
        • Dynamic Membership
      • Education
        • User Guides
        • Tooltips
        • AI Help Hub & Assistant
      • Popups
        • Special Offers
        • Upsells & Cross Sells
        • Product Recommendations
        • Celebrations
        • Alerts
      • AI Search
      • User Feedback
      • Surveys
      • Referrals
      • Banners
      • Pricing & Payments
      • Embedded Analytics
    • React SDK Components
      • Onboarding
        • Onboarding Component
        • Get Started Component
        • Tutorial/Quest List Component
        • Walk Through Component
      • Gamification
        • Challenges Component
        • DailyStreak Component
        • Leaderboard Component
        • GamifiedQuiz component
      • User Assistance
        • Feedback Workflow Component
        • Inline Feedback Component
        • Survey Component
        • Search Bar Component
        • Help Hub Component
        • CreditsPopup Component
      • Expansion
        • Referral Components
        • Cross-Selling Component
      • Miscellaneous
        • Confetti Component
        • Alert Component
        • Login Component
        • One to one Survey Component
        • Pricing & Payment Component
        • Badge Component
        • Toast Service
      • Survey
        • User Experience Feedback Survey
        • Feature Usage Survey
        • Customer Satisfaction Surveyy
        • Net Promoter Score
        • Onboarding Experience Survey
        • Customer Support Satisfaction Survey
      • Embedded Analytics
        • Line Chart
        • Scatter Chart
        • Combo Bar/Line
        • Stacked Bar Chart
        • Horizontal Bar Chart
        • Stepped Line Chart
        • Pie chart
        • Doughnut Chart
        • Multi Series Pie
        • Bubble Chart
        • Floating Bar Chart
    • React Native SDK Components
      • Onboarding
        • Embedded Onboarding ToolTip
        • Announcement Banners
        • Onboarding Component
        • Get Started Component
        • Quest List Component
      • Gamification
        • Challenges Component
        • Daily Streak Component
        • Leaderboard Component
        • Quiz component
      • User Assistance
        • HelpHub
        • Feedback Workflow Component
        • General Feedback Component
        • Inline Feedback Component
        • Credits Popup Component
      • Expansion
        • Cross-Selling
        • Share With friends
        • Referral
      • Miscellaneous
        • Spotlight Searc
        • Modal
        • Login Component
        • Membership Card
        • Badges
        • Pricing
        • Survey Form
        • Banner
        • Carousel
        • Tutorial
        • Daily Check-in Credit
    • No Code SDK Components
      • HelpHub
      • Feedback Workflow Component
    • Flutter SDK Components
      • Onboarding
        • Onboarding Quiz - Multi page Component
        • Onboarding Quiz - Single page Component
        • Get Started Component
        • Tutorial/Quest List Component
      • User Assistance
        • Feedback Workflow
        • Help Hub Component
        • Inline Feedback Component
        • Spotlight Search Component
        • Survey component
      • Gamification
        • Daily Streak Component
        • Leaderboard Component
        • Gamified Quiz Component
      • Expansion
        • Referral Component
        • Cross-Selling Component
      • General Components
        • Login Component
    • Rest APIs
      • Data Module
        • Data Object
      • Entity Module
        • Entity Object
      • User Module
        • User Object
      • Gamification
        • Badge Object
        • Web3 Module
          • Dynamic NFT Object
        • Skills Module
          • Skills Object
        • Levels Module
          • Levels Object
  • Integrations
    • Email
      • Mailchimp
      • Klaviyo
      • Mailmodo
      • Mailjet
      • Brevo (SendInBlue)
      • Constant Contact
      • Elastic Email
      • ApolloIo
      • Google OAuth
      • Instantly
      • Loops
      • AWS SES
      • SendGrid
      • Hubspot
      • Activecampaign
      • One Signal
      • Attio
    • Customer data platforms
      • Segment
      • Shopify
      • Salesforce
    • Workflow automation & ETLs
      • Zapier
    • Analytics & business intelligence
      • Mixpanel
      • Amplitude
      • Heap
      • Posthog
      • Snowflake
      • Google BigQuery
      • Clay
      • Outreach
      • Salesloft
      • Smartlead
    • Data ware house
      • Redshift
      • Microsoft Azure
    • Task management
      • Clickup
      • Jira
    • Engagement Platforms
      • Braze
      • Moengage
      • Iterable
      • Customer.io
    • Segment
      • Overview
      • Sending Data to Segment
      • Sending Data to Questera
    • In-App UI
      • Quest UI SDKs
      • Pendo
      • Appcues
      • Bubble
      • Chameleon
    • FAQ
  • recipes
    • Greta
      • SaaS Subscription
        • Activation
        • Conversion
        • Retention
      • SaaS Credit-Based
        • Activation
        • Conversion
        • Retention
        • Engagement
      • Ed-Tech
        • Activation
        • Conversion
        • Retention
        • Engagement
      • Gaming Apps
        • Activation
        • Conversion
        • Retention
        • Engagement
      • E-Commerce
        • Activation
        • Conversion
        • Retention
    • Elma
      • SaaS Subscription
        • Activation
        • Conversion
        • Retention
        • Engagement
      • SaaS Credit-Based
        • Activation
        • Conversion
        • Retention
        • Engagement
      • E-Commerce
        • Activation
        • Conversion
        • Retention
        • Engagement
  • Quest Tools
    • Saas GPT
    • Playground
    • PLGOS
  • GRETA
    • How to create your first project using Greta?
    • Playground
Powered by GitBook
On this page
  • Components Visuals
  • Installation
  • Props of Referral Component
  • Basic Usage:
  1. Questera AI SDKs
  2. Flutter SDK Components
  3. Expansion

Referral Component

The Referral components are reusable flutter component designed to facilitate user referrals and rewards. It allows users to earn rewards by sharing a referral code with friends

PreviousExpansionNextCross-Selling Component

Last updated 7 months ago

Components Visuals

To unlock early access to the component

Installation

To use the Referral component , you need to install questlabs_flutter_sdk package into your project

  • First, navigate to the root directory of your Flutter project. Open the pubspec.yaml file using your preferred code editor.

  • Under the dependencies section in your pubspec.yaml file, add the following line to include the questlabs_flutter_sdk package

  • After saving your changes, open your terminal or command prompt and run the following command to fetch the new dependency

dependencies:
  questlabs_flutter_sdk:
    git:
      url: "Replace with your github URL"
      ref: master  
  flutter_bloc: ^8.1.6

Props of Referral Component

Prop Name
Type
Description
Required

questProvider

QuestProvider

Provides necessary configuration such as API key, entity ID, and optional theme settings

Yes

apiKey

String

API key to authenticate requests.

Yes

entityId

String

Entity ID associated with the quest.

Yes

themeConfig

QuestThemeConfig

Customizes theme settings like background color, font style, border color, button color, etc.

No

primaryColor

Color

Sets the primary color of the component .

no

secondaryColor

Color

Sets the secondary color of the component .

no

buttonColor

Color

Defines the color of buttons within the component .

no

backgroundColor

Color

Specifies the background color of the component .

no

borderColor

Color

Defines the color of the component's border.

no

fontStyle

String

Sets the font style for text within the component (e.g., "poppins")

no

shareWithComponentProps

ShareWithComponentProps

Contains user details,campaign ID, token, and display options for the "Referral Component"

Yes

userId

String

Unique user identifier.

Yes

token

String

Token for authenticating the user session.

Yes

campaignId

String

Unique campaign identifier.

Yes

showFooter

bool

Whether or not to display the footer in the "referral" component.

no

heading

String

Heading for the referral component.

no

description

String

Description for the referral component.

no

gradientBackgroundColor

Color

Indicates whether to use a gradient background.

no

primaryHeading

String

Primary heading for the gradient background.

no

primaryDescription

String

Primary description for the gradient background.

no

referralLink

String

Referral link.

no

shareButtonText

String

Text for the share button.

no

You can customize the UI with the type of QuestThemeConfig would be


          themeConfig: QuestThemeConfig(
              secondaryColor: Colors.red,
              primaryColor: Colors.blue,
              buttonColor: Colors.yellow,
              backgroundColor: Colors.yellow,
              fontStyle: "libre baskerville",
              borderColor: Colors.red
          )

Basic Usage:

  • In your main() function, ensure you initialize the app and dependencies as follows:

void main() {
  runApp(const MyApp());
  getItInit();
  getIt<SharedPref>().init();
}
  • Add the following BlocProvider setup to your providers list to initialize the ShareWithComponentCubit for state management:

providers: [
  BlocProvider(
            create: (context) => getIt<ShareWithComponentCubit>(),
          ),
],

Ensure you provide your entity ID, API key, token, user ID, and quest ID

import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:quest_interview/token.dart';
import 'package:questlabs_flutter_sdk/questlabs_flutter_sdk.dart';

void main() {
  runApp(const MyApp());
  getItInit();
  getIt<SharedPref>().init();
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});
  @override
  Widget build(BuildContext context) {
    return MultiBlocProvider(
      providers: [
        BlocProvider(
          create: (context) => getIt<ShareWithComponentCubit>(),
        ),
      ],
      child: MaterialApp(
        title: 'Flutter Demo',
        home:   ShareWithComponent(
          questProvider: QuestProvider(
              apiKey: "apiKey",
              entityId: "entityId",
              // themeConfig: QuestThemeConfig(
              //     secondaryColor: Colors.green,
              //     primaryColor: Colors.blue,
              //     backgroundColor: Colors.white,
              //     buttonColor: Colors.yellow,
              //     fontStyle: "dancing script",
              //     borderColor: Colors.red
              // )
          ),
          shareWithComponentProps: ShareWithComponentProps(
              userId: "userId",
              token: "token",
              campaignId: "campaignId",
              // heading: "hhhhh",
              // showFooter: true,
              // description: "nothing is scary",
              // gradientBackgroundColor: Colors.red,
              // primaryDescription: "testing",
              // primaryHeading: "jjjjjj",
              // referralLink: "linkdin",
              // shareButtonText: "share this",
              // showRefferalLogo: false
          ),
        )
      ),
    );
  }
}


Watch the YouTube video below for a step-by-step guide on testing the Referral component in your Flutter project.

Get Access