inbrain_surveys 1.4.2
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());
}