inbrain_surveys 1.4.2 copy "inbrain_surveys: ^1.4.2" to clipboard
inbrain_surveys: ^1.4.2 copied to clipboard

Survey library to monetize your mobile app, provided by inBrain.ai.

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'models/reward.dart';
import 'screens/native_surveys.dart';
import 'screens/home.dart';
import 'theme.dart';
import 'package:inbrain_surveys/inbrain_surveys.dart';
import 'package:inbrain_surveys/types/types.dart';
import 'dart:async';

class InBrainExampleApp extends StatelessWidget {
  const InBrainExampleApp({super.key});

  @override
  Widget build(BuildContext context) {
    return ChangeNotifierProvider(
      create: (context) => RewardModel(),
      child: Builder(
        builder: (context) {
          final inbrainSurveysPlugin = InbrainSurveys();
          runZoned(() {
            inbrainSurveysPlugin.setOnSurveysClosedListener(
                (bool closedByWebView, List<InBrainNativeReward>? rewards) {
              inbrainSurveysPlugin.getRewards().then((rewards) {
                final double total =
                    rewards.fold(0.0, (sum, item) => sum + item.amount);
                Provider.of<RewardModel>(context, listen: false).add(total);
                inbrainSurveysPlugin.confirmRewards(rewards);
              });
            });
          });

          return MaterialApp(
            theme: inBrainTheme,
            routes: <String, WidgetBuilder>{
              '/': (BuildContext context) {
                return const Home();
              },
              '/native-surveys': (BuildContext context) {
                return const NativeSurveys();
              }
            },
          );
        },
      ),
    );
  }
}

void main() {
  WidgetsFlutterBinding.ensureInitialized();
  final inbrainSurveysPlugin = InbrainSurveys();
  
    inbrainSurveysPlugin.setInbrain(
          apiClientId: 'The client ID provided in inBrain.ai dashboard',
          clientSecret: 'The client secret provided in inBrain.ai dashboard');

    inbrainSurveysPlugin
          .setUserID('Uniq identifier of the user within your application');

  inbrainSurveysPlugin.setNavigationBarConfig(const InBrainNavbarConfig(
    backgroundColor: Colors.red,
    buttonsColor: Colors.green,
    titleColor: Colors.blue,
    title: 'inBrain.ai Surveys',
    hasShadow: false,
  ));

  inbrainSurveysPlugin.setStatusBarConfig(const InBrainStatusBarConfig(
      lightStatusBar: true, statusBarColor: Colors.orange));

  runApp(const InBrainExampleApp());
}
3
likes
150
points
876
downloads

Publisher

verified publisherinbrain.ai

Weekly Downloads

Survey library to monetize your mobile app, provided by inBrain.ai.

Homepage

Documentation

API reference

License

MIT (license)

Dependencies

flutter, plugin_platform_interface

More

Packages that depend on inbrain_surveys

Packages that implement inbrain_surveys