najvaflutter 1.3.3 copy "najvaflutter: ^1.3.3" to clipboard
najvaflutter: ^1.3.3 copied to clipboard

Simple flutter plugin for using najvaSDK in flutter projects.

example/lib/main.dart

import 'dart:convert';

import 'package:flutter/material.dart';
import 'package:najvaflutter/najvaflutter.dart';
import 'package:http/http.dart' as http;

NajvaFlutter najva;

void main() {
  WidgetsFlutterBinding.ensureInitialized();
  najva = NajvaFlutter();
  najva.enableLocation();
  najva.setFirebaseEnabled(false);
  najva.init("8b84ad3a-3daa-4520-9adc-d7528ea95a54", 12383);
  najva.setOnUserSubscribedListener(onUserSubscribed);
  najva.setOnNotificationReceivedListener(onNotificationReceived);
  najva.setOnNotificationClickListener(onNotificationClicked);
  runApp(MyApp());
}

void onNotificationClicked(String uuid) {}

void onNotificationReceived(String id) {}

void onUserSubscribed(String token) {
  print(token);
}

void onJson(String json) {
  print(json);
}

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  String _token = 'Unknown';

  @override
  void initState() {
    super.initState();
    najva.getSubscribedToken().then((value) => _token = value);
  }

  void onButtonClicked() async {
    final http.Response response  = await http.post("https://app.najva.com/notification/api/v1/notifications/",
    headers: <String,String>{'Authorization': 'Token aff3c68af97bf4608fdf28673ca26201ca027ed9', 'Content-Type':'Application/json'},
        body:jsonEncode(<String,dynamic>{
          'title': 'notification from api',
          'body': 'Testing flutter sample',
          'url': 'https://najva.com',
          'onclick_action': 'open-link',
          'icon': 'https://doc.najva.com/img/najva.png',
          'image':'https://doc.najva.com/img/najva.png',
          'priority':'high',
          'api_key': '8b84ad3a-3daa-4520-9adc-d7528ea95a54',
          'subscriber_tokens': <String> [await najva.getSubscribedToken()]
        }));
    print(response.body);
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Plugin example app'),
        ),
        body: Center(
          child: Column(
            children: <Widget>[
              Text("Najva Token: $_token"),
              RaisedButton(
                  child: Text("get a notification"), onPressed: onButtonClicked)
            ],
          ),
        ),
      ),
    );
  }
}
5
likes
30
pub points
0%
popularity

Publisher

unverified uploader

Simple flutter plugin for using najvaSDK in flutter projects.

Homepage

License

MIT (LICENSE)

Dependencies

flutter, meta, platform

More

Packages that depend on najvaflutter