import 'package:flutter/material.dart';
import 'package:http/http.dart' as http;
import 'package:firebase_core/firebase_core.dart';
import 'package:tata_rewards/tata_rewards.dart';
import 'firebase_options.dart';
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
http.Client httpClient = http.Client();
await Firebase.initializeApp(options: DefaultFirebaseOptions.currentPlatform);
// Initialize the SDK
await MyRewardsSdk.instance.initialize(
httpClient: httpClient,
tdlBaseUrl: "https://gratify-rewards.esmagico.net",
tplBaseUrl: "https://gratify-rewards.esmagico.net",
);
await MyRewardsSdk.instance.subscribeToActiveCardCount(
userId: 'Ankush-12', // This will be the external customerId
onCountChanged: (int? activeCount, ScratchCard? scratchCard) {
if (activeCount != null) {
print('Active card count updated: $activeCount');
// Handle the update, e.g., show a dialog or update UI
}
},
onError: (String error) {
print('Error receiving active card count: $error');
// Handle the error, e.g., show a message to the user
},
);
await MyRewardsSdk.instance.notifyLogin(
tdlToken:
"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImFhN2Y2YTMwLWY0NGYtNDgxMS1hZTUzLWZhNjRhZDkyOWIzNCIsImV4dGVybmFsQ3VzdG9tZXJJZCI6IjYwNzk1NDU0MjIiLCJvcmdfaWQiOiI3ZTEwNjE4Ny1jMmMxLTQ5YTMtODcyOC02ZDM3MzY2OTRiYWQiLCJvcmdhbmlzYXRpb25Db2RlIjoiVERMVEVTVCIsImlhdCI6MTcyODcwNjk3MywiZXhwIjoxNzI4ODc5NzczLCJpc3MiOiJXYWxraW4ifQ.DI9ur3nDaeT-ATmZUNtLIgTaCfSGG1jg1ITV0G0CukySD-3BSFJU-zSuMqwcbELOA7eaMNAFcQQwi8Ao23mclDGx2JoPxS3Pa3cgDGSmIHYQIfj5yUYGJgietewmupCJSI4o7IKIgdaWo7uYr58L5BOV-daHH1A3q98k-OAS4jbMUizc1xoS-LQ5SmlWjIa7EKnBGq3EEEZcwUXAIZ862Ixy5bOTDilRuesZ28m3Yt4phFz1TgytR2TEY0S7g_a_Mlo1w9vBjTIUIulNK1BF8eVUr5aeoizrTjUS-RGHdfVezWXvPYIY5dpVJVHx23zHsllAxQf1agJOA73mVYJuhQ",
tplToken:
"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImFhN2Y2YTMwLWY0NGYtNDgxMS1hZTUzLWZhNjRhZDkyOWIzNCIsImV4dGVybmFsQ3VzdG9tZXJJZCI6IjYwNzk1NDU0MjIiLCJvcmdfaWQiOiI3ZTEwNjE4Ny1jMmMxLTQ5YTMtODcyOC02ZDM3MzY2OTRiYWQiLCJvcmdhbmlzYXRpb25Db2RlIjoiVERMVEVTVCIsImlhdCI6MTcyODcwNjk3MywiZXhwIjoxNzI4ODc5NzczLCJpc3MiOiJXYWxraW4ifQ.DI9ur3nDaeT-ATmZUNtLIgTaCfSGG1jg1ITV0G0CukySD-3BSFJU-zSuMqwcbELOA7eaMNAFcQQwi8Ao23mclDGx2JoPxS3Pa3cgDGSmIHYQIfj5yUYGJgietewmupCJSI4o7IKIgdaWo7uYr58L5BOV-daHH1A3q98k-OAS4jbMUizc1xoS-LQ5SmlWjIa7EKnBGq3EEEZcwUXAIZ862Ixy5bOTDilRuesZ28m3Yt4phFz1TgytR2TEY0S7g_a_Mlo1w9vBjTIUIulNK1BF8eVUr5aeoizrTjUS-RGHdfVezWXvPYIY5dpVJVHx23zHsllAxQf1agJOA73mVYJuhQ");
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Gamification SDK',
debugShowCheckedModeBanner: false,
theme: ThemeData(
colorScheme: ColorScheme.fromSeed(seedColor: Colors.black38),
useMaterial3: true,
),
home: MyRewardsPage(
title: "My Rewards",
myRewardsPadding: 16,
onScratchCardClick: (id, point, status) {},
gap: const SizedBox(
height: 20,
),
),
);
}
}
|
|