iot_notification 0.8.71 copy "iot_notification: ^0.8.71" to clipboard
iot_notification: ^0.8.71 copied to clipboard

PlatformAndroid

A new Flutter plugin.

example/lib/main.dart

import 'dart:convert';
import 'package:flutter/services.dart';

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> {
	static const EventChannel _events = EventChannel('iot_notification_events');

  @override
  void initState() {
    super.initState();
	_events.receiveBroadcastStream().listen((Object? event) async {
          if (event != null) {
			print("ada event tidak null");
		  }
		}
	);
  }

  @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.eyJpYXQiOjE3NDAxMzE4OTAsIm5iZiI6MTc0MDEzMTg5MCwiZXhwIjoxNzQwMTc1MDkwLCJpc3MiOiJpb3Quc2FtZWxlbWVudC5jb20iLCJhdWQiOiJ1c2VyIiwicmVmIjowLCJzdWIiOiJIYW5pZmJ1ZGlvdG9rcyIsImlkdCI6NzYsImVtbCI6ImhhbmlmQHNhbWVsZW1lbnQuY29tIiwiaWRkIjoxLCJhcGkiOiJ4MXdVYTNwZUF1Y2FjZXFGaWZlMTJIYVpBVnNiUkdTayIsImRldiI6MX0.j6d0VYXW0kAWuaHU97TLwYewlSSEC10PLkSCySWEdKwaRNRyUrMIHSPXoH-CGUnBqcVIeVq6uPoNDJvff-J3-mdKiKf7Yl8qHxcbQxUKzNZeBp5dX--9wgv7cKkwNzvyOZSqzLq-23vdyPLlzCtevxdDBjyK3-nYBK2nJ1UtBfeWB_ZQm9I9khJ8jEjGkRe_tcDOnC4LcbQzqv2JWjjwtLAI-iHhRxe6ZnnStrO2i6l5Fm3pomD5ap8KQstNl-N7Bb9Pelc2Uu_uEOFP0fj8ttl2Dfi8R5ruh3hwGV_SlCmeco4aOGpgJyzGlVDyv2k-T2NJ14yIVN_YVQcWXIBTgHEibV7zpAaLJhYYLVVmu453Kg9tudk4pQIAbgTvZ_k8-vV5XFNvMHKgownqtvZ9qao068hQqgbP6gSeJmkp33eE4fzXtzj-nk6i6x_zK5ICfgGwL9aVIyQYaFXpWWIgUP2hqD2HbIwPQK7ZrjMD27U_YMe9jr2A3TBFnQE7SAwaBwKYSsEH94wZprN0rPDR3YcFbGB-kLnSHVtfemz_z76QfgVY8-m6WbudPCnELC_ZF3HDJU8DmN4n9RFEJIom_GaY_YzYpwS9xBYp6Wz7wtOkH3DkISD6vVs56PrHpZiq1PvqAx90EhjQcGvG2mUQ-QEYHP3civ1p6piTxSHSwLU",
                      userRefreshToken : "eyJhbGciOiJSUzUxMiJ9.eyJpYXQiOjE3NDAxMzE4OTAsIm5iZiI6MTc0MDEzMTg5MCwiZXhwIjoxNzU1NjgzODkwLCJpc3MiOiJpb3Quc2FtZWxlbWVudC5jb20iLCJhdWQiOiJ1c2VyIiwicmVmIjoxLCJzdWIiOiJIYW5pZmJ1ZGlvdG9rcyIsImlkdCI6NzYsImVtbCI6ImhhbmlmQHNhbWVsZW1lbnQuY29tIiwiaWRkIjoxLCJhcGkiOiJ4MXdVYTNwZUF1Y2FjZXFGaWZlMTJIYVpBVnNiUkdTayIsImRldiI6MX0.fAhGf8WuPo3vNmmfUgpPViqo3QbSgVxg2ggPGCXmkk9nSpGZodoyVVOALfAphCPQqdeFRxN4A2_Hlz8_Mpq-W6UMJVBOIVvd1ViDqGeGETrpEvEnoWIGOYx3WIWCDFuFBjMz_91EuvlfvZtnYildsaOsHuVm8XKi_GlxsIYDnuymlIYCS9JHU9Qau7erQFwVZaxE6RckFrrt04aiFDjPeyMS25i54Fy3ItWoNUHwC2Dgs5fRpwGgEOXVywCMfyi7Nd6mTzRPQhyW6pwLjrKZa7orY7e-UL5nWaGtx4eTwxS85Rc0UnETn38cIgHH9MlD1HFLTN87wQ8Ge6MYrnaGUlbmX9IfeGT2EBUO6V3CFraYT3eJTpJsdPnnkoogMbfAewgkovvIpSNsDn5cN9SkQrjSaxT1IXrdKgC6F6oobU_UfJBkAH7B1YRnAhy0jrzFJSoj5uqfF74RC53s_5Y3s8-YYgqjYthoJNKGYSsuf7ah6NwKRVEAyRV4Tecdk11Kzebqc1ZbFuT3m7FPTfXqPGAzkhq3Yl2Su4LIhl2Xqh4eVhYoonGNqfevdtSthWawIQgJ6CBRWafhSqD-NkAmiuBwHE76uE3ZSCKkEEc3Luxw8vwK-K_v38r-R7NgdSwUaUQYd6B85D-0lSqrKfesc74re4I526pu5bwG-iyZ-5E",
                      devAccessToken : "eyJhbGciOiJSUzUxMiJ9.eyJpYXQiOjE3NDAxMzE5MjMsIm5iZiI6MTc0MDEzMTkyMywiZXhwIjoxNzQwMTc1MTIzLCJpc3MiOiJpb3Quc2FtZWxlbWVudC5jb20iLCJhdWQiOiJkZXZpY2UiLCJyZWYiOjAsInN1YiI6IklvVCBEZXZpY2VzIiwiaWR0IjozLCJhcGkiOiJkbUkwT2t2b0ZSTFJ6SHUzSjN0RVdRYklYUXdEZUY5cSIsImRldiI6MX0.b_JL_cXIhJCvcoEKQH2n10BYEzld0fWPdXg5PG1TMlnDfnTjiPG45ddKGk-0etKzzUivPrg6Lw83hpHvf_QoCW0eDJ_LNjAT_hxFQE-X20AR_C6IJlJxl_h-XKlq2f43j1ieCAObmHOaJF6c2BUcjR-shcMvQvM5_6iLN7LW105R7bGS-5hXK9I2_aB9WhrNngvmEw_owkAnZkoPHSq-sOSP0_Kdq4P9rZqvmMg2nDGqwDsmcDinTWV-SvhO1l6UlgJ9_S2e4cfgRhlwWykTyC9tPpJxiek1CRW5hNghxuaCeMwCGusNAai1DeOZw33oU8EVP-BRjqzxI4kj8MUMzQGxXnYEqmdbQnemQjeAaSK4JlM83SLhBT1OLqkGIoZxksYUBNC7s7fWjvei6VXZ7uMCTkTtft7a07sBOXT1wDNiKUivxesb-7PbU-WuJ_7dysfBlwF72lIY-ullsg83yOy86DlDIJjGIAB2c1GrxOcfEt4FjEej-FpmU4wVpV7D6NjHt5P8dUas20ks5jWcGs0K23cUfTb8fCreAfotPyL16Xy87w00-ZpeLIyPKE8Du6p1z5KxSoUJEQkuUeo_jUTyFZfZMJOki7uTIx2RitfZMFMe75ePZyGaA5jYZBLS_eWqeNEauQbQKF17NO-g8pZUE4hNirbuv3KQkQdLCSI",
                      devRefreshToken : "eyJhbGciOiJSUzUxMiJ9.eyJpYXQiOjE3NDAxMzE5MjMsIm5iZiI6MTc0MDEzMTkyMywiZXhwIjoxNzU1NjgzOTIzLCJpc3MiOiJpb3Quc2FtZWxlbWVudC5jb20iLCJhdWQiOiJkZXZpY2UiLCJyZWYiOjEsInN1YiI6IklvVCBEZXZpY2VzIiwiaWR0IjozLCJhcGkiOiJkbUkwT2t2b0ZSTFJ6SHUzSjN0RVdRYklYUXdEZUY5cSIsImRldiI6MX0.ZMTTYXMk_LHgHKOYwHhWiMvf6Gi3_bPz3T8OIGk6giSe1dW06KqEGVdtTvH02cG0Xqhd6pxfy1H-FurQ19Ivpw8WeYScTPWmnIoHNlsuipLEKYapkKH2fsrGbklmwr0q431phcUiCdtExqyQx38ZMQeLQtu122I8E7wmuYeyv0M0lP6hu9RgRtvjzdMnbjiJ1XeibsNgdR9zfCTPXAnHW0A1pzoeR5hbdFmHB06pePi3QfshQyS5CH3_4PLz7U-YUeDiUPpaQq8VNBbRXNRrLnLmSkGCXhT2HmNYQpecaULeu99DcRyPsXPfbjgMHRA605Q93ln34Q1dHKIxXFJsmTdU5j6rUJSm2sgb_aGXZHC1ssk1MrS0ySqqT_yyGF1Bjmi5R6PGx3eP6SOM8VakfLVlpSw8qYwu-5chExtxOzhxXwTWwR0iDfiFrVsAsXY5F59PGupqIPHJ7DzBbj0AG9XNFzrbdl2eu92MXHz5ShNSRV2-9mDkyEEsaG8L_dghVfGa6BxIGk6z6gIMtlsEqjpuCRzVyio0WSjYHB_EvIX7cmIkPabVaVGvxhY5G1PLFqwaSB0wQMXSqmQyfeEKU3fMTXVR3dZrFQaqLphuWz7I6sylWLe4rtl70MpLRtU4fVj1SR9GjobL1Tifpa9oEGDmanb72irXXZSn_ARd664",
                      mqttClientIdentifier : "skdjskdjskdjskdjskdjskdjs-iniadalahidekuuntuk",
                      brokerAddress : "iot.samelement.com",
                      brokerProtocol : "ssl",
                      brokerPort : 8883,
                      authServer : "https://iot.samelement.com",
					            apiServer : "https://iot.samelement.com",
                      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();
                    }
                ),
              ])),
        ),
      ),
    );
  }
}
0
likes
130
points
159
downloads

Publisher

unverified uploader

Weekly Downloads

A new Flutter plugin.

Documentation

API reference

License

BSD-3-Clause (license)

Dependencies

flutter

More

Packages that depend on iot_notification