iot_notification 0.4.8
iot_notification: ^0.4.8 copied to clipboard
A new Flutter plugin.
example/lib/main.dart
import 'package:flutter/material.dart';
import 'package:iot_notification/iot_notification.dart';
import 'dart:convert';
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: Center(
child: Column(children: <Widget>[
ElevatedButton(
child: Text("Start Service"),
onPressed: () {
IotNotification.startService(
"eyJhbGciOiJSUzUxMiJ9.eyJpYXQiOjE2MzIxMzEzMzgsIm5iZiI6MTYzMjEzMTMzOCwiZXhwIjoxNjMyMTc0NTM4LCJpc3MiOiJpb3Quc2FtZWxlbWVudC5jb20iLCJhdWQiOiJ1c2VyIiwicmVmIjowLCJzdWIiOiJIYW5pZiIsImlkdCI6NzYsImVtbCI6ImhhbmlmQHNhbWVsZW1lbnQuY29tIiwiaWRkIjoxLCJhcGkiOiJ4MXdVYTNwZUF1Y2FjZXFGaWZlMTJIYVpBVnNiUkdTayIsImRldiI6MX0.CNL2OkR1KGfKjSV18NGFQEwKc5-oaJ6pVW2T2OtoUxPrq91MziSuaahYMl1KT0U0DBHCc0gNcR7ru7WDDfvDGwFkuJVvFL33xpU7W9E-r3a0tWJxcuzGlxAaW0SX09-OYJvLSOzftrQG7aPwJDT4cmRmpU911hGX1bwuOw1xug_FS711SbbuZ-AztD9045Kqznbywgz9rLqxobVR0AsRzpLTd_tSD8y9YlufWEaHtU3mUMrGbI6FXtNn9wVXs6KK88uGbQsuqodJNR4ldhTEf2mzULhLdGLQvUOGp3Sd62_4qWdywgagd5lE--ODiUFnXR4yLVUolZyBCi9tZaIHaktuvlFOH1pCZOoocvBMPRFWkexsuCZCzEzKUuD8GeFDmH21nsTqHOst4azftTxzVt6Yu1nuRTTNdZy5d5AZTUaUk1nKKVxtQ6BDRLz1J2mmcgXom1wVvWdolXQaCnubeoctHiiMqbQanhi94GCiCu_03i3gmsjzvZMsPILItfgAY7lpQ2BN1yYimVa2kSMueHfQDx8Y-eqA8S5xLDrUahjwIwN8ShQDsgIsTtFVIqx_czPMuj0rVOznzk5f5vehwj_a9jA2cdKQP9t2Bc9-x-epwEvD8fkwQUdn4LDnd0PvaTTtgegioyl58qG8-USfuOvvTYixE4cRW4YGuplSMCw",
"eyJhbGciOiJSUzUxMiJ9.eyJpYXQiOjE2MzIxMzEzMzgsIm5iZiI6MTYzMjEzMTMzOCwiZXhwIjoxNjQ3NjgzMzM4LCJpc3MiOiJpb3Quc2FtZWxlbWVudC5jb20iLCJhdWQiOiJ1c2VyIiwicmVmIjoxLCJzdWIiOiJIYW5pZiIsImlkdCI6NzYsImVtbCI6ImhhbmlmQHNhbWVsZW1lbnQuY29tIiwiaWRkIjoxLCJhcGkiOiJ4MXdVYTNwZUF1Y2FjZXFGaWZlMTJIYVpBVnNiUkdTayIsImRldiI6MX0.yq3VaYuZACHj0VkHxXP0cQhiOazlk0Qz7yP4SDDVPtIPPVlD7YJmuF4fdklDIZUbiAt0Oyj0Jxr_pUO2clTGVBs-MpaRaYF9JvxJw9b1X7pUDNvxd79w0Mmicv3JADQfhhpcKi7V12bbdeG39nIHjQsvzufC3przDMXBfpTvF3kson2iwQ4jduE73jqc7tF9x2ldVcSFTmPKA3dQeXG0npWNfJvD2pZ2_VwakARYX4MnDvhTE3bSrZVNYPjH0QEDDW-TwPwUFnxwWfxJdGycQ8cfhQqm40QjdaoGA8OMfqFzGCv9DR3ki05YCoat3R1JOA6AqF93ubKQwAWZ8RruYr1bc_h_YxmbyghSBL3_TDH9Izqu3OIxUDYbew8o5RDz0tUXTwHS7CO-7uu0_lOyzqC032HpM-uoCePCbcYew6QU5g3bdTM1uVz5LH_r5dKsuZcBdFpfj01cLuB-dl1OuFb3Mhv-FxAAB6tmmrAi0tPVWySyFgAkdjpfGX8-EZnBszOIOlIOwfDAN9RyUXKEEZTESi0aM_xDkGjB3zujrPcvRROByH_JetqBLlngxN_5Vnfse0PVaa6fuc4cDYmsDizawrlPA7qAOgtnI5Wej6Nuasf85KelyKl96015cgybBmL-WEOrwtdmY9tyzG5jYF3D0BID3milktJZvVTupAk",
"eyJhbGciOiJSUzUxMiJ9.eyJpYXQiOjE2MzIxMzEzMzQsIm5iZiI6MTYzMjEzMTMzNCwiZXhwIjoxNjMyMTc0NTM0LCJpc3MiOiJpb3Quc2FtZWxlbWVudC5jb20iLCJhdWQiOiJhcHAiLCJyZWYiOjAsInN1YiI6IklvVCBBcHAiLCJpZHQiOjEsImFwaSI6Ingxd1VhM3BlQXVjYWNlcUZpZmUxMkhhWkFWc2JSR1NrIiwiZGV2IjoxfQ.PDMmlJ76flf5N7ZckWU8Gy7r39QowzJ4rrgHBEJs2xrexfRdKnwQzWQpwPDFunsChfa68FPbNyDieojVq_kosz7eImeXoIC5BJMXnDXBMYz6vhDERrlgy9w6OTlZZU66xZYjlBWWnI0RHuchy8NQ6xwADyOXoqiP6oSRREk8YN6dkVw8_fnQJOpYDMNs1J6sZWoSxeLhiMSYGIpOSpPhrX-NsSqQAMQPEQhAQDg4YhELf7thF22dUi5syDPDw70Nd1do8OZk31hgdPrgrzKRvxtjqvqondgyZkvpHvOwybQObkV9-MAhMOxG20-3-MJjVXyOSQO0EDNlGuvJb2bOdk8mIH8RxwK2D7a-yf6lTGoYQPWgGqoepk9vjPpPjo98uC7nvD4t_U_FtAdyJt5pHZC44CGLKyC4VQDVJ98woIwbqt4hmzjkDrt01t-c113ceMRwwOzwy3EQxtPwgKS4SmXRz-QVs4ujXaiG9JDPnbP_VobJE_IrWUEBa2wjZ818oNkJHVhL_Dn7uynpv1aJ4I2KGuQP0S6i7Y5gmN2KzZlZfZjZxuXiESggUp3vcR9fRrfqqtGLeLTABHs6WTX6utj3cECm_dpmUTk4WgGGxro7zHLeGlH05Ubg0tRkRl-zzLZeYZzPEQiSnvgdY4fZ-w7KvPFm6FDTT5w5js6yYcA",
"eyJhbGciOiJSUzUxMiJ9.eyJpYXQiOjE2MzIxMzEzMzQsIm5iZiI6MTYzMjEzMTMzNCwiZXhwIjoxNjQ3NjgzMzM0LCJpc3MiOiJpb3Quc2FtZWxlbWVudC5jb20iLCJhdWQiOiJhcHAiLCJyZWYiOjEsInN1YiI6IklvVCBBcHAiLCJpZHQiOjEsImFwaSI6Ingxd1VhM3BlQXVjYWNlcUZpZmUxMkhhWkFWc2JSR1NrIiwiZGV2IjoxfQ.jMIXj6K_VGGhcfeErDWVQBHfm2q8Ue97xxe-POoY1FewtsYP9LASCMlHu853BmPbyQcg2BbxogR-z8grLqNszHS-D-xFnJdsj9uNOZwQNInxet84skVqVZvPz9a9TccvvN_YHabRYBKrtLRcj0hmOl0Ct2BBNjmxQ0RUgtTBwlyLVgkzy9NU6MW0znfxq4UeIH1os6FsjNQrnQUHZViHsl3zJ7nSroUOmb3RwUCGiPYDdfVsLw3KKif15TCKxfol0iaLbuB2P0Nevgf9guP2nbB25hbZmGWzaZw-SMNUDXRTA6piwZiwiLU9o-5CpxMtvEKKGXy7tuPu3aj6TyWlQ13BRaLgtlgRYZmwt0IB4rrsWOv7rAy0G418Dg9umo8MsSzJB89OBYH_lSXGFOZiy8-q-xvMwJ-2_xbNTlx-vBBDQk59oveouEfXb3pe3rZawvmpI568DkDECGX3MSI80UfZyNCnhPr0WjjH8Q0zBQhwbKVAAAUNRQlJl2fl3wsoEV84Adt896tODU3jkVSkinQP8odYDgECvQCCMYoCCuG5jq9hOqEe2tBHmyEumLH_vmy-pekdfxPFGMBbu2DBmVaAgwljuuXOnxIxswyLZoS45fwZ-W09ZHc-La_jneOF17xpbNxztDK7NKwwvI6rkqQDP9gu3BhyiV1knWURvRU",
"jangan-claim-akuuu",
"iot.samelement.com",
"ssl",
8883,
"https://iot.samelement.com",
entrustRootCertificateAuthority);
}),
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();
})
])),
),
);
}
String entrustRootCertificateAuthority = '''-----BEGIN CERTIFICATE-----
MIIEMjCCAxqgAwIBAgIBATANBgkqhkiG9w0BAQUFADB7MQswCQYDVQQGEwJHQjEb
MBkGA1UECAwSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRow
GAYDVQQKDBFDb21vZG8gQ0EgTGltaXRlZDEhMB8GA1UEAwwYQUFBIENlcnRpZmlj
YXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAwMFoXDTI4MTIzMTIzNTk1OVowezEL
MAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UE
BwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNVBAMM
GEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEP
ADCCAQoCggEBAL5AnfRu4ep2hxxNRUSOvkbIgwadwSr+GB+O5AL686tdUIoWMQua
BtDFcCLNSS1UY8y2bmhGC1Pqy0wkwLxyTurxFa70VJoSCsN6sjNg4tqJVfMiWPPe
3M/vg4aijJRPn2jymJBGhCfHdr/jzDUsi14HZGWCwEiwqJH5YZ92IFCokcdmtet4
YgNW8IoaE+oxox6gmf049vYnMlhvB/VruPsUK6+3qszWY19zjNoFmag4qMsXeDZR
rOme9Hg6jc8P2ULimAyrL58OAd7vn5lJ8S3frHRNG5i1R8XlKdH5kBjHYpy+g8cm
ez6KJcfA3Z3mNWgQIJ2P2N7Sw4ScDV7oL8kCAwEAAaOBwDCBvTAdBgNVHQ4EFgQU
oBEKIz6W8Qfs4q8p74Klf9AwpLQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQF
MAMBAf8wewYDVR0fBHQwcjA4oDagNIYyaHR0cDovL2NybC5jb21vZG9jYS5jb20v
QUFBQ2VydGlmaWNhdGVTZXJ2aWNlcy5jcmwwNqA0oDKGMGh0dHA6Ly9jcmwuY29t
b2RvLm5ldC9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2VzLmNybDANBgkqhkiG9w0BAQUF
AAOCAQEACFb8AvCb6P+k+tZ7xkSAzk/ExfYAWMymtrwUSWgEdujm7l3sAg9g1o1Q
GE8mTgHj5rCl7r+8dFRBv/38ErjHT1r0iWAFf2C3BUrz9vHCv8S5dIa2LX1rzNLz
Rt0vxuBqw8M0Ayx9lt1awg6nCpnBBYurDC/zXDrPbDdVCYfeU0BsWO/8tqtlbgT2
G9w84FoVxp7Z8VlIMCFlA2zs6SFz7JsDoeA3raAVGI/6ugLOpyypEBMs1OUIJqsi
l2D4kF501KKaU73yqWjgom7C12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3
smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg==
-----END CERTIFICATE-----''';
}