flyy_flutter_plugin 0.0.1
flyy_flutter_plugin: ^0.0.1 copied to clipboard
A new Flutter plugin.
example/lib/main.dart
import 'package:flutter/material.dart';
import 'dart:async';
import 'package:flutter/services.dart';
import 'package:flyy_flutter_plugin/flyy_flutter_plugin.dart';
void main() {
runApp(MaterialApp(
title: "Flutter Demo App",
home: FlutterDemo(),
));
}
class FlutterDemo extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
leading: IconButton(
icon: Icon(Icons.arrow_back, color: Colors.white),
onPressed: () {
if (Navigator.canPop(context)) {
Navigator.of(context, rootNavigator: false).pop();
} else {
SystemNavigator.pop();
}
},
),
title: Text(
"Flutter Plugin Demo App",
style: TextStyle(fontSize: 18),
),
backgroundColor: Colors.blue,
),
body: FlutterStateFulWidget(),
);
}
}
class FlutterStateFulWidget extends StatefulWidget {
@override
State<StatefulWidget> createState() {
return new FlutterState();
}
}
class FlutterState extends State<FlutterStateFulWidget> {
final userName = TextEditingController(),
contactNumber = TextEditingController();
@override
void initState() {
// TODO: implement initState
super.initState();
FlyyFlutterPlugin.initFlyySDK("f386572bf888c1fb3584", FlyyFlutterPlugin.PRODUCTION);
}
@override
Widget build(BuildContext context) {
return Container(
alignment: Alignment.center,
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
///User name
Padding(
padding: const EdgeInsets.only(left: 50, right: 50, bottom: 20),
child: TextFormField(
controller: userName,
keyboardType: TextInputType.text,
textCapitalization: TextCapitalization.words,
textInputAction: TextInputAction.next,
decoration: InputDecoration(
focusedBorder: OutlineInputBorder(
borderSide: BorderSide(color: Colors.blueAccent, width: 1),
borderRadius: BorderRadius.circular(10),
),
enabledBorder: OutlineInputBorder(
borderSide: BorderSide(color: Colors.grey, width: 1),
borderRadius: BorderRadius.circular(10),
),
hintText: 'Your Name',
labelStyle: TextStyle(
fontSize: 14, color: Colors.black54),
hintStyle: TextStyle(
fontSize: 12, color: Colors.grey)),
style: TextStyle(fontSize: 14),
validator: (String arg) {
if (arg != null && arg.isNotEmpty) {
return null;
} else {
return 'Required';
}
},
),
),
///Contact number
Padding(
padding: const EdgeInsets.only(left: 50, right: 50, bottom: 20),
child: TextFormField(
controller: contactNumber,
keyboardType: TextInputType.number,
decoration: InputDecoration(
focusedBorder: OutlineInputBorder(
borderSide: BorderSide(color: Colors.blueAccent, width: 1),
borderRadius: BorderRadius.circular(10),
),
enabledBorder: OutlineInputBorder(
borderSide: BorderSide(color: Colors.grey, width: 1),
borderRadius: BorderRadius.circular(10),
),
hintText: 'Enter your contact number here',
labelStyle: TextStyle(
fontSize: 14, color: Colors.black54),
hintStyle: TextStyle(
fontSize: 12, color: Colors.grey)),
style: TextStyle(fontSize: 14),
validator: (String arg) {
if (arg != null && arg.isNotEmpty) {
return null;
} else {
return 'Required';
}
},
),
),
RaisedButton(
onPressed: () {
startFlyy();
if (userName != null &&
contactNumber != null &&
userName.text != null &&
userName.text.isNotEmpty &&
contactNumber.text != null &&
contactNumber.text.isNotEmpty) {
}
},
textColor: Colors.white,
padding: const EdgeInsets.all(0.0),
child: Container(
width: 100,
decoration: BoxDecoration(
color: Colors.blueGrey,
borderRadius: BorderRadius.circular(10),
),
padding: const EdgeInsets.all(10.0),
child:
Center(child: Text("Login", style: TextStyle(fontSize: 20))),
),
),
],
),
);
}
void startFlyy() async {
String result = await FlyyFlutterPlugin.setFlyyUser("9844313418");
if(result == "success") {
FlyyFlutterPlugin.sendEvent("flutter_plugin", "tested");
Map<String, String> jsonData = new Map();
jsonData['json_test'] = 'success';
jsonData['flutter_plugin'] = "tested";
FlyyFlutterPlugin.sendJSONEvent("flutter_plugin", jsonData);
}
FlyyFlutterPlugin.setFlyyUserName(userName.text);
FlyyFlutterPlugin.openFlyyOffersPage();
// FlyyFlutterPlugin.openFlyyRewardsPage();
// FlyyFlutterPlugin.openFlyyWalletPage();
// FlyyFlutterPlugin.openFlyyGiftCardsPage();
// FlyyFlutterPlugin.openFlyyReferralsPage();
}
Widget showAlertDialog(BuildContext context) {
showDialog(
barrierDismissible: false,
useRootNavigator: true,
context: context,
builder: (BuildContext context) {
return AlertDialog(
content: new Row(
children: [
CircularProgressIndicator(),
Container(
margin: EdgeInsets.only(left: 5),
child: Text(" Loading...")),
],
),
);
},
);
}
}