iot_notification 0.8.47 iot_notification: ^0.8.47 copied to clipboard
A new Flutter plugin.
import 'dart:convert';
import 'package:flutter/material.dart';
import 'package:iot_notification/iot_notification.dart';
void main() => runApp(MyApp());
class MyApp extends StatefulWidget {
@override
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: const Text('Iot Notification Example'),
),
body: SingleChildScrollView(
child: Center(
child: Column(children: <Widget>[
ElevatedButton(
child: Text("Start Service"),
onPressed: () {
IotNotification.startService(
userAccessToken : "eyJhbGciOiJSUzUxMiJ9.eyJpYXQiOjE3MTM1ODIxMTYsIm5iZiI6MTcxMzU4MjExNiwiZXhwIjoxNzEzNjI1MzE2LCJpc3MiOiJpb3Quc2FtZWxlbWVudC5jb20iLCJhdWQiOiJ1c2VyIiwicmVmIjowLCJzdWIiOiJIYW5pZmJ1ZGlvdG9rcyIsImlkdCI6NzYsImVtbCI6ImhhbmlmQHNhbWVsZW1lbnQuY29tIiwiaWRkIjoxLCJhcGkiOiJ4MXdVYTNwZUF1Y2FjZXFGaWZlMTJIYVpBVnNiUkdTayIsImRldiI6MX0.l6pKWPuBMBAEBlvwXgJU8YFRKqIk2cWHBafLI6mViY02MxhTLb277i7BVCtyRiq5qgWk9K2wiYAz-4X96JGxGVKaohaKI9Erijj2qR2_2Duttqg0GxuanShgO2t7RwxxrPTSD8xmqbFgrdspTrgqA9RN93ACOHQUVI8CF3UF8aLP6EqZ26VxT3pD_FfLk6E_9zuVwqyjkMFvKBlDx6_vIRR7NuX1ZqYPnUA72xn3FnTGhG2ARvZm0vZW9l6MdpOdwl_zIXhx9n2W8oVXkPrwT1TbfWO-MLLNSGor8FnPempH_kk2RMGFFf1Lz1wgiPlKyRIQc2rDH8J4E7zt32G_VW7nEY2IweedTVnwf1Be0qvMoJzi6GKtrPEwPh7Bac3r4Ntdxh8wDuN4EldEux3z-22eGbxHFnayPx8DVauVUt3fAvtcqYmCpExvn5nu-dEwZ9BnPB-VsCjGOgpVpRztDN2fiwN7GicEnZykMdSHFAFvgzeuRsTU4_H9vF4ikVjwq7e6EZ-3NGtqT06D6qk4b2rd7piIJ_DTY0n-nAEWGVxu22HqozCFZpRxf8QnP9TsbtUS4zd-Q9VMofcZ112zuUSqdx9wdyZShGDkK8pjr8w7WeshYYVlnN3t08BGdI6_eAs5R-Af-au3a1-zi9QJI4c0rbZdOqkTreInU5LvxpU",
userRefreshToken : "eyJhbGciOiJSUzUxMiJ9.eyJpYXQiOjE3MTM1ODIxMTYsIm5iZiI6MTcxMzU4MjExNiwiZXhwIjoxNzI5MTM0MTE2LCJpc3MiOiJpb3Quc2FtZWxlbWVudC5jb20iLCJhdWQiOiJ1c2VyIiwicmVmIjoxLCJzdWIiOiJIYW5pZmJ1ZGlvdG9rcyIsImlkdCI6NzYsImVtbCI6ImhhbmlmQHNhbWVsZW1lbnQuY29tIiwiaWRkIjoxLCJhcGkiOiJ4MXdVYTNwZUF1Y2FjZXFGaWZlMTJIYVpBVnNiUkdTayIsImRldiI6MX0.hrL5DnR3ZoduK-JoY1G-cA5CHhJofV_A5zlrAm6eDM2pQFwKHfBuVl32_SQBegGoXrj5KHhoWxelpBoYfQ_jMdu7uyOXfSsT1CZze1ZGzehLgHexFDDRoz7MQRWl8a3OZsq9VBb9KUX1J27YKOkQzsLBvm70jhAcBogDXGHb6bRlIyPUuT0zf33rSHIoaCueR8qBFV_5tmFw7qqxgMrRCV9GFMoP93sRud5g9TmhkfNrsbDXtO9T16iA_DxX9rxTR2AsGynK_fhqIO580_fEX5fDJbfr_zUGeY0FF3a4sr28jlh5D0QlKNFUEJto35auqwJXtAYRctrqwVRbyGqZOmWqCe1ELliIeSFrmzsyY8cGE-b47wcHx7gOi55OXx8Wg4yPtc0uzj5VaoriA6vFQfY-2uUakroKTWCOTkmh-ARxJJv2WVcmSgJ4mGI7TAd2RmQL74wSONcTvkPYphMFg1APsO1ZSs5Rv_D1PW3vBIJY7_-GZ8aZ0Sys5OAwM5C6IPzdMfvakRWgrmANFr06zn9kTe1HCXc0P-1tHaR412qIDB5vlbW9UpBcMKL-sehIlFPBYoqYvW6VoTHX0p4RPrTiYp0XMxQk_G1KV6B2JslaFwyWvp4OQk3AZh_sgg4gxx8_j8v9B7eyKj04hjk-LZYTr9xY6O3XLb4XIDUX7KQ",
devAccessToken : "eyJhbGciOiJSUzUxMiJ9.eyJpYXQiOjE3MTM1ODEzOTIsIm5iZiI6MTcxMzU4MTM5MiwiZXhwIjoxNzEzNjI0NTkyLCJpc3MiOiJpb3Quc2FtZWxlbWVudC5jb20iLCJhdWQiOiJkZXZpY2UiLCJyZWYiOjAsInN1YiI6IklvVCBEZXZpY2VzIiwiaWR0IjozLCJhcGkiOiJkbUkwT2t2b0ZSTFJ6SHUzSjN0RVdRYklYUXdEZUY5cSIsImRldiI6MX0.ZIWWcCKxsGB6DLHz-gco9rgGOF-fNwzc-j0UBV6LwVk9cT6MTusGEKUEpsHP3Y386modq3qiJKoWl2PPVJzaj8wA4GXsuntR7JnKYZtd7CHC6UbUm_Huhy29QfDOM_60NTbHykX3LK4jnNckLXLUyUMsjuaca6V49sMnfAUiSk-xJr4Rvl8dsaI9l8bJ_zxN8XnpRUqdwmNOIYFl8NxmqRpb2U1XNr-RAo0bYVsFaJPlMDo9LAfshK9yLyc4ilZDuUs98n2ZsXzQoL47sEKQuJ1B8jiVrPZKjqdkl0RmRl-atoJlCuOuMA_-vS_772Uj9JCjOqZbFM-Xe827L9lx1UkxDM_eQ7ZedWk4iKqPbR3ufkn54LnXZQiZNNUcEuYyvnOnKAUBgIDPB1biwB3011ou-dnq7j6SJE0cXIKtiy0qS8puYWfJ2MQPfLJ-XV8WiXNz5Z8Lpki4KIfcSW1XAOQmzF44R5_YersNtahf82HIe1YXseE-6Fr9nO0bdS-RAsCGEJFrOpOeGl3ClK35MqmUZjqMLpBXYi-_gX23jL4Lai3xq0WZo-ZYWx_iFzxCUozedWG9JN3qCCJ6qcHHYfkCWQs7TqGxFO5FzrgVL3zcewUbScTdW8seGV3dATXcVdrX2jboTbW5fKwUnrblpVdePQksm29Wd7x27Xhsv4o",
devRefreshToken : "eyJhbGciOiJSUzUxMiJ9.eyJpYXQiOjE3MTM1ODEzOTIsIm5iZiI6MTcxMzU4MTM5MiwiZXhwIjoxNzI5MTMzMzkyLCJpc3MiOiJpb3Quc2FtZWxlbWVudC5jb20iLCJhdWQiOiJkZXZpY2UiLCJyZWYiOjEsInN1YiI6IklvVCBEZXZpY2VzIiwiaWR0IjozLCJhcGkiOiJkbUkwT2t2b0ZSTFJ6SHUzSjN0RVdRYklYUXdEZUY5cSIsImRldiI6MX0.gmjPjAgHp4mtRGPMSuqnImXbtLTobRvRBc1Owj0avkgJ_h2Uidq9j46Kl_XpJ7_5oWxGHCR3IXby_1ksfnb0ST1pxkQI5W1jGfWZ5S2FAYH1WUfWWLx404lp6vPUC4KgNbB0on3uWOtLnJOMbIcw6Mb7Zw_aV1EPxcd24q7gHbrNEP_GZs5oB66_mpGT2BavXcpOo-jROut2Xxggbum3yO6dEZ9lrJN6-_Qcd4VgGG4kjaDgjVYcWCyC9x2Egm7DYvUjBfvqhDRg_3KBlFnLb2P478BN2XSBLgie1f8OdUsO4QjDtzr8J6lL07DMg9lq3jH7i59v_jScxaDOS3VLIOuW5IAzrniCXgd-vv534U1cwAeE6tTY0QTeECMhqizGUAPJIJQh58YSYqerr3KOfxO5qQw0iLmPavaG31iopiLq6H7vIb7KSuAZg6ywCY7XjcjJrkXXkkM2zqKKVlmShrREYEmpnCh0K5KDIdnI37UBpIRQQPfWpTT8rpcYctSIWNarzy6yCJn5HI4BYj3Tpt51txx6eLMXUhSUyFL5R8MYFcu4TUZY_g8tnO6brcrXw9pJIxYSTvUJ4avqaSPM61xRi82byLbX-rq6j0sP-E8_-1TeqfeEcPteJzvjhcgbZs1XpAhhEEaH7t89fPRDA_AavTmofQT57Ld9EQ3Z8LQ",
mqttClientIdentifier : "sudah-dibikin-bikinin-juga",
brokerAddress : "iot.samelement.com",
brokerProtocol : "ssl",
brokerPort : 8883,
authServer : "https://iot.samelement.com",
apiServer : "https://iot.samelement.com/api/en",
rootCA : ""
);
}),
ElevatedButton(
child: Text("Add Device"),
onPressed: () async {
IotNotification.addDevice(json.encode({
"id": "1213213",
"sn": "INISN",
"name": "DEVIA ABAL",
"state": "ready",
"desc": "UUN",
"developer_id": "1",
"options": null
}));
}),
ElevatedButton(
child: Text("Scan Barcode"),
onPressed: () async {
String? result = await IotNotification.scan();
print("QR CODE $result");
}),
ElevatedButton(
child: Text("Get Keys"),
onPressed: () async {
List<String> keys = await IotNotification.getKeys();
print(keys[0]);
print(keys[1]);
}),
ElevatedButton(
child: Text("Stop service"),
onPressed: () async {
IotNotification.stopService();
}),
ElevatedButton(
child: Text("Cancel alarm"),
onPressed: () async {
IotNotification.cancelAlarm();
}),
ElevatedButton(
child: Text("Request Alarm Permission"),
onPressed: () async {
IotNotification.requestAlarmPermission();
}),
ElevatedButton(
child: Text("IgnoreBatteryOptimization"),
onPressed: () async {
IotNotification.ignoreBatteryOptimization();
}),
ElevatedButton(
child: Text("OpenBatterySettings"),
onPressed: () async {
IotNotification.openBatterySettings();
}),
ElevatedButton(
child: Text("Request Post notification"),
onPressed: () async {
IotNotification.requestPostNotificationsPermission();
}),
ElevatedButton(
child: Text("Test Logger"),
onPressed: () async {
IotNotification.initLogger("dev", "debug", "username",
"password", "server", "sam-iot", "dev");
}),
ElevatedButton(
child: Text("OpenFileManager"),
onPressed: () {
IotNotification.openFileManager();
}),
ElevatedButton(
child: Text("Insert Event"),
onPressed: () {
IotNotification.insertEvent(sender: "System", title: "Random Title", description: "This is a description");
}),
ElevatedButton(
child: Text("Get All Events"),
onPressed: () async {
List<Events> events = await IotNotification.getAllEvents();
events.forEach((element) {
print("Nilainya ${element.id} ${element.createdAt.toString()}");
});
}),
ElevatedButton(
child: Text("Clear Events"),
onPressed: () {
IotNotification.clearEvents();
}
),
ElevatedButton(
child: Text("Show full screen intents"),
onPressed: () {
IotNotification.showFullScreenIntent();
}
),
])),
),
),
);
}
}