iot_notification 0.6.2
iot_notification: ^0.6.2 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.eyJpYXQiOjE2NTQyNDUzMDcsIm5iZiI6MTY1NDI0NTMwNywiZXhwIjoxNjU0Mjg4NTA3LCJpc3MiOiJpb3Quc2FtZWxlbWVudC5jb20iLCJhdWQiOiJ1c2VyIiwicmVmIjowLCJzdWIiOiJIYW5pZiIsImlkdCI6NzYsImVtbCI6ImhhbmlmQHNhbWVsZW1lbnQuY29tIiwiaWRkIjoxLCJhcGkiOiJ4MXdVYTNwZUF1Y2FjZXFGaWZlMTJIYVpBVnNiUkdTayIsImRldiI6MX0.Lfy5FfpcSO1Iyke9BEGSfIJ-nav9tHKsyaDJo4pPMGw8JcMhX-nOhbqOCfTnTb4OwRpXdRiquL2vunuYvZR3FZTEF1w6HqoA2juuMcRjz_yVgx-DUV2JEgFn0Vq9f7N4jB6ePKKmUe3zwdiKQ2mO3ODn7VvKi5V0oPOjmJIxSCEddCRbaMUMbL1UwE3blDFD4sNn85a-U5W8bBvI5l2krx-Ioz0RXy4VSF-Qag3TtG4zjJC8zlOMhljM9jaNIA1iZ8pDo7CghRFiUL1SfFiz_nZRWUDwB07tV9Xlb32UgOtQ1VOT3iKpp-y5CcKzaY1r8QlNRabBOeLQmkxaI8_woS9zn7wGuQ9zzxDkpCNRSd0omsFLXj-5A5lx3lzlwXK3V7UJw4tO7n-uxhPTRpzSBKnGTByFVThTTEaU1xppQ-nzp_bD9pwcT688iZoQC_dPGBVGOvMRJEExK6L6oveWnI1l0ycLpgB8RRcFEV782VK6NdLdrk5zuAEiiP0KaCE5ivMfs_24h6cvXwJM-n6CZXkXojKJVyOd1X4FlVFL81cssWWnEXda0aghFNWPULsDxjUZk9ihq3twJs75H5GhjAHUDnlb0J9oOxSUoMGPFZpYMvQ8kcn-EA7Dgjr6jW7Ps79l76Q2WftZxRAOAX5TF6TPBjIr-HgzM-NyNHkkzuY",
"eyJhbGciOiJSUzUxMiJ9.eyJpYXQiOjE2NTQyNDUzMDcsIm5iZiI6MTY1NDI0NTMwNywiZXhwIjoxNjY5Nzk3MzA3LCJpc3MiOiJpb3Quc2FtZWxlbWVudC5jb20iLCJhdWQiOiJ1c2VyIiwicmVmIjoxLCJzdWIiOiJIYW5pZiIsImlkdCI6NzYsImVtbCI6ImhhbmlmQHNhbWVsZW1lbnQuY29tIiwiaWRkIjoxLCJhcGkiOiJ4MXdVYTNwZUF1Y2FjZXFGaWZlMTJIYVpBVnNiUkdTayIsImRldiI6MX0.yCIAMIYWE5CEujPgfpfzm_zxaODko7eSxCHEn3Vp26AUlA8C3Akx0z_OiZ7XE1HCUlc1u1CZG8yRbYkpkTWQngbHn1Zz5MBwarFTBURKLXo0VWiEqdund_3EWGHuSq3LTNRrPbkycSP4z-Oq_2lQnDcDf3BRdWwII5Qc9MWv4u2nLRkIcZzY32xnx6byb1Y_LfMEhTI79Usc2gRGRx9r62Ynh1orGAmRetmIqh_XVPZpqChOim14BzVrKssklNzDRMJ3p_CpHaF-sw_D09smeiWkbQyPPkReEGCE5_FQ-PtZUR1_bLWl5o1nueVrzlLjHBDgs-VtY37V40u_8MzYfxA91W-kfpKeoyXId2hdr046HoSu-S3TfkbZcTpaxkKKAXQRFfqRGrz436kLRPLMjS0XywvzKVKogwT3npoljxyev18T8Fos3MCCazO4mKw_2bK7Cf4TLKcFB8EsBntvv1qa9ZBPkhHEBVx5XvkHaXpea4w-qbLUxxPbrYIuGhM57NTFPR8FOJu2WqMb4Ja8_RLpS3LbVqd6ePIRzZSvl_RXQTo25FnTtvnw5jsujxyE2-FZ-Glt-KgGJF_1noR3dupf6yuD7KzU9vm51-Jg3LfQJQZLq0xynTDvIhdQEeZ0LLbWEqksxRo-wLmVHTUnSlViFQV2RYtPGqqfEmbQynI",
"eyJhbGciOiJSUzUxMiJ9.eyJpYXQiOjE2NTQyNDU0NDIsIm5iZiI6MTY1NDI0NTQ0MiwiZXhwIjoxNjU0Mjg4NjQyLCJpc3MiOiJpb3Quc2FtZWxlbWVudC5jb20iLCJhdWQiOiJkZXZpY2UiLCJyZWYiOjAsInN1YiI6IklvVCBEZXZpY2VzIiwiaWR0IjozLCJhcGkiOiJkbUkwT2t2b0ZSTFJ6SHUzSjN0RVdRYklYUXdEZUY5cSIsImRldiI6MX0.EqvXVW_zIZ8rxo9GYWdzjR3p15S7HFfHwq2sVKsuXiKZjutZ25RCZgmCFo1LMDuTIY1gC13ZKz_d2LTYL3gtvWEndQk03ALvhfz8qrvexcPmznbFwIJJJLjEt9nwy0vni6scgNSzsyiJg-1S_uqiw-zPWLsXHa9Y4xlx2B6n0vZKqLjShQfhlF9cr671sf21_GQsFjEspyzBZ0piQjNPzBKLPfYf9m4dryt-tOfxVsOlEZASuKKp0XPiALULfktwi_lMnDxKhaP5_VfBk7hUxuuy8qIMdk27X-hurIsPjH-1tIR5al3FM9sjU6rgg4UprslgwSFMpYcdg50IpaMUNZ193VqmRiGDFBz0FgY6X6r1DMv1qrfaQ0RqJ8rONJds_gEqh7wNtohtJ_RBFmJuP-eVrJ6TC_DGjtccEeIhn4nHwqQJ6j4sD7L9wTnKqV9dcgesLGpgaOM36NiaRGCWcCjhzvZ3cmj93Y8luMo8AT5L0s83KLuxvAjWUShBlvpqlYFVLVaWEEEKRrX8DDRBQCJ_nkMppDk4V0TDCMZwAMMM4imv82AIYqurgySQxMvNEE2Ws1tcLYNrv6PcZ5FEc1RJyvYBYkjFp0cZBp3VOcfeCEAdxCvHkohZHB1tso5lPaeNMh0w5_je4v5QHM-VkLCRCA8byj5ET2jg8oPAiK0",
"eyJhbGciOiJSUzUxMiJ9.eyJpYXQiOjE2NTQyNDU0NDIsIm5iZiI6MTY1NDI0NTQ0MiwiZXhwIjoxNjY5Nzk3NDQyLCJpc3MiOiJpb3Quc2FtZWxlbWVudC5jb20iLCJhdWQiOiJkZXZpY2UiLCJyZWYiOjEsInN1YiI6IklvVCBEZXZpY2VzIiwiaWR0IjozLCJhcGkiOiJkbUkwT2t2b0ZSTFJ6SHUzSjN0RVdRYklYUXdEZUY5cSIsImRldiI6MX0.ItPh_lJPRo-57-sgjSHQFQE6ArUJ4I93TWS34HWazhgdliYY37qYho6GrF6aZ-dvmur8bRl7YVEHdN5KWHYcyYN0QtufQ1Lt3Qp1yMhYWJRdV3tj9wQjTIMhg-BQ1QII0oMlZep_PBkSjKLC3YBamUfhBj3e4JEL9xBjyXRcFrIAHMhJmk8uZGoBDn4JJf9FQg5XmNU6SPupdiNQc-POmniRdqOK5xD370l42gtNShf1MeQ8OuTyInlq2782saxiS8eTgVIv5MYD4YzAH0a6ysgeYWdkaoDYrf2m59Dc-MgMjev5r7JcEx7bbv3j2q8Kf-Uydk1Aa5cYU2Gr8ZpQr8_ThMi_AXeWGSQZ_GRmMvWEoKkWCJp5DkoMbzh6pyZPGBbTm3HBKrdr5KCZRFFthMriBrYKWyoJRwioTzmSZaayuAKoKWmbkeuOuSIEdP7yGDVl2acK46S1C7rLICtbtgAltQbwxJP_ulJK7OVJ6Onn1rjtHBYT2EedZK0sAvoRc4g1bgYP6CxLndLgoWvAF4jNaLbm75M2ODUWxLXbqpah75C1X3536fgN2g-gxF3DKnZOFLndHOfIelOk68nTZh7EXjtz6ibwOVst4dmosbtKhhRDh1h1cpWQbc5X6M3UEpUlle-6sVGOe2dHKZFFqIUILriQaeiwX17Rc-4DgLc",
"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();
}),
ElevatedButton(
child: Text("Cancel alarm"),
onPressed: () async {
IotNotification.cancelAlarm();
})
])),
),
);
}
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-----''';
}