iot_notification 0.8.55
iot_notification: ^0.8.55 copied to clipboard
A new Flutter plugin.
example/lib/main.dart
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.eyJpYXQiOjE3MTQzOTQxNTgsIm5iZiI6MTcxNDM5NDE1OCwiZXhwIjoxNzE0NDM3MzU4LCJpc3MiOiJpb3Quc2FtZWxlbWVudC5jb20iLCJhdWQiOiJ1c2VyIiwicmVmIjowLCJzdWIiOiJIYW5pZmJ1ZGlvdG9rcyIsImlkdCI6NzYsImVtbCI6ImhhbmlmQHNhbWVsZW1lbnQuY29tIiwiaWRkIjoxLCJhcGkiOiJ4MXdVYTNwZUF1Y2FjZXFGaWZlMTJIYVpBVnNiUkdTayIsImRldiI6MX0.g1iN0GNPIA9J3NPJ_zR-KjMB78CwD6O1wVKLzBdNXndrhxbl7pBNGX6B0R3xwkDnmRm_QgdrB90fbCzmlHjFKl4LTnCakYSpCHLN8cEFs4pp5YJCajb1aICu8xNTmXFB-DHrdykbE187_boeGfJGlPO_ny9aoY6HablXyRwJ1rs52TPEHs9dGwoP0ICOeDSVP_XKidktEp0cnSmeBMVnWKsS7EcE2xf5w2GoE2toQYOe3cfynkMT5U-lU0XiPg0IKR7e4QC-fqZMBobcwQMzhQupo2I1iAhyd3a7Q_1Cn-WQqULLPKixyjZBrXtiGdw9piZCol_HOhE1TdX65lTVxJSnp8ibpK9loIrwL9yF2lxBl91A_4s0nD9K0af_myCTr4BFM_ul7D5nLsWvm0nP68wqlnlbqtrQUC9_jnLh6P3pI7Wt9G_UUZ8YGvaa-Y9IWjR9ivP4e340gZK5jtcoqCWSGTatI5i55riDEfA34Gg_aDIpjaHCH0mYxnFdf4g84sAXvXEQXLCN6kAnPwtkYXy7FrPE2k_L7h7vhHia5wBJV44BfVSJqmT0zqpf87rZ3dpkoNTC-YuxQns885u2RltYP3HdwQUV0WAZA_9RdsDFVcxbePPVpzcqlkUvyF0fjZv12HfbSgGra9vnLszgojPAXOvWZ0L6o0LgU_qTn9Y",
userRefreshToken : "eyJhbGciOiJSUzUxMiJ9.eyJpYXQiOjE3MTQzOTQxNTgsIm5iZiI6MTcxNDM5NDE1OCwiZXhwIjoxNzI5OTQ2MTU4LCJpc3MiOiJpb3Quc2FtZWxlbWVudC5jb20iLCJhdWQiOiJ1c2VyIiwicmVmIjoxLCJzdWIiOiJIYW5pZmJ1ZGlvdG9rcyIsImlkdCI6NzYsImVtbCI6ImhhbmlmQHNhbWVsZW1lbnQuY29tIiwiaWRkIjoxLCJhcGkiOiJ4MXdVYTNwZUF1Y2FjZXFGaWZlMTJIYVpBVnNiUkdTayIsImRldiI6MX0.wYpgUVbQ6UN3obTS3_2vr8o8n2kW-lkBvJuDnpe8Z_3_fjPoX7blVVeW2jBCLHpTGAxOz1o5PdnJeRbfVTrwSMcSYMAMgyc8TCSwO9ZgqbCthnJ0MSWKG6iHb_aREzA66Dz9XKqMHedEnwhhyDgwb8FE2c_rv6FiyywwrYsYTyLtAZRJWni-r0Rm6F336dR65vUdDGmMXHvGoUCdvk-ba6XX2AvhqE4_WjSwNJbvliVY9TVubNCtZq2HIQ9Ad1pmWk75-RqpnkZ14ust0GgfThKM9x59vVePY2NlGxz6gSDsvHduC-TpkeSpGlRDF8ixYGyfXdYQwpvnMO5ZJjDh9v5Ta7E4Ge8BwP4vbAy0XdRExv2c5YYIwCrTvh5n1WeBI6RElT0jcd-wRxdfSDFIh3F8o0ouizemMMlqNzbb-LoO85JbSO0RaD8y4kHJXjURFB_D_MT694cANtZjBy_JiP39EFeh54UXBCnGPEHWfoGLQuUaOJW7sOqmglZHX_aTJ3mVRyiAZiBGjeMdMc1uebOI6vFLKI_QdVuvqw-sdYjRs1aFcmWIOC9Fd1fCvLq7kyJMvaUSjVnyOAkk6yBdGRfs5h_ilx79y4v01hc4VURSO68b95I7Bqm7-bweVUmUHOJLDBBOwi9TQe50nF73cRaNarA08BfxgaRNYnOWDdU",
devAccessToken : "eyJhbGciOiJSUzUxMiJ9.eyJpYXQiOjE3MTQzOTQxOTcsIm5iZiI6MTcxNDM5NDE5NywiZXhwIjoxNzE0NDM3Mzk3LCJpc3MiOiJpb3Quc2FtZWxlbWVudC5jb20iLCJhdWQiOiJkZXZpY2UiLCJyZWYiOjAsInN1YiI6IklvVCBEZXZpY2VzIiwiaWR0IjozLCJhcGkiOiJkbUkwT2t2b0ZSTFJ6SHUzSjN0RVdRYklYUXdEZUY5cSIsImRldiI6MX0.uubd9-OLEJLlLcxKQMr_qJgGO9MgpzhmCXvzm_mtnGQ12xFTM4mt6Ktwmvwna_sFEm0QhqqC0c70eEA-A_RC3IumgD5bjMMWGHrNDPW-sV5tBs5vn89vSW2MNDZyL0Gk7SSuWn2MNMw7m54IHyzjxJkzmq0_5iylhS66-0HuzCf-bT7928YsG8eOvzux2a0gruqgiVm-2smkQ4vTQ-97eCCbFmaT7Tn6oIBb82sVdkoCfC1D0QMIyizKl7R8uNX5vWwUkq4wtm17hM0IZIpHQtbjnpDVHtA3VJGP7UJcYpJKqu5m4oJ3K6xqMDOEloOcOmVSy2Jq1m8Sb3bma6Fx0pwfbgbshLmaOEY2CaaR_3LtAJSycR9Ukc2qy2oYyglT-In6vIbpevSvNo-4_yH4aI5FjaIIHIXX-QNkwemxLB1gbx4zbDn0ucJ2XJ_TSBAKVWeB6vOIQc5xER3Ai8WLXHOZ-frclHigwLw7asRVuGk1kGA5R-j5qxg146EFy4FQrnq10DrCUNZwTyKFuTV5F_Q6gFSkfRxks5wTDwkOxrb5cWyVgQob_HZA3PGqQwxva9RQcY4B38YmMZL6l1UjESh29L_DGKUY4Y6BlNIvJrVo1mDvu4rQclKxgB8yLwPltWQEyvXQrrsv6j7k8Kg7JJE-ylPOJUaAuYT4pX2XH8U",
devRefreshToken : "eyJhbGciOiJSUzUxMiJ9.eyJpYXQiOjE3MTQzOTQxOTcsIm5iZiI6MTcxNDM5NDE5NywiZXhwIjoxNzI5OTQ2MTk3LCJpc3MiOiJpb3Quc2FtZWxlbWVudC5jb20iLCJhdWQiOiJkZXZpY2UiLCJyZWYiOjEsInN1YiI6IklvVCBEZXZpY2VzIiwiaWR0IjozLCJhcGkiOiJkbUkwT2t2b0ZSTFJ6SHUzSjN0RVdRYklYUXdEZUY5cSIsImRldiI6MX0.Nv_eOn373DymuWG4C0glgYxn1KJephtHU-KLjdSh2NUM-dHG5gU_bL1PvgnfMlpFA7wRX3NZOm_Ih9X_14BxGuw7zXj-Koi89j6ncPPvaBJzpLRPQ1a8B8swcUOvVO8Gum7-gSZObcgCGdOktcuQvS5VLk3a939bs2MlrF5UshuoA9qabAk2WsO6cY3o2K7SdI9QH4qmzCMm4_tJRMV75TxSOip3VqnjFfe2VPYanfGmVXcaC9klmEgDl4ER7Tn-DAd4Y5fYYQM9eUBCMhJoj8f31Xave7WNnAOBl7BzMEwk9qhkknjNpgu96I2Qhy8u5FmdOyV21hel5oQu1C4euGFIqiU8RLhPskLgDivF3AWNSVNe9PEgauEELwZmhY2O6vP_oUcVYZR3XfISB_MY_K-XMyKcFe9kmttJBOx5G8p3RpfIn82IsP-ZJajMzbL2hMYJ-z_wXGTOqKI_Kyx6AHtkec6DiZ5iwrR_WGa3O8o0nyO9IzdsQKBBMqhijEIBB8uBUwKYWCPg9GpSVcqzYXoIUosD8Mmu70hTz62WYU5UsWxsogusDZugJqNL8ftl2E_DHYzw8ss2f-pMQSpDB-Y25QbOMQlD1fhHwu7MF18mk4uGIWGvjtfdS_wLl1lE0VdV9czozUCTZ3VggRlIU9sEZk7Sszv4hodH5PXNXkk",
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();
}
),
])),
),
),
);
}
}