sima 1.0.0 copy "sima: ^1.0.0" to clipboard
sima: ^1.0.0 copied to clipboard

Flutter plugin for SIMA digital signature integration.

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:sima/sima.dart';

void main() {
  WidgetsFlutterBinding.ensureInitialized();
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return const MaterialApp(
      debugShowCheckedModeBanner: false,
      home: SimaExamplePage(),
    );
  }
}

class SimaExamplePage extends StatefulWidget {
  const SimaExamplePage({super.key});

  @override
  State<SimaExamplePage> createState() => _SimaExamplePageState();
}

class _SimaExamplePageState extends State<SimaExamplePage> {
  bool _isLoading = false;
  String _resultText = 'Hazırdır';

  Future<void> _startSima() async {
    setState(() {
      _isLoading = true;
      _resultText = 'SIMA açılır...';
    });

    try {
      final response = await Sima.start(
        clientId: 'YOUR_CLIENT_ID',
        clientMasterKey: 'YOUR_MASTER_KEY',
        returnScheme: 'your-app-scheme',
        serviceName: 'SIMA Example',
        logoPath: 'assets/logo.png',
      );

      if (response == null) {
        _setResult('Əməliyyat ləğv edildi');
        return;
      }

      if (!response.isSuccess) {
        _setResult('Xəta: ${response.message ?? 'unknown'}');
        return;
      }

      _setResult('''
✅ UĞURLU

Request ID: ${response.requestId}
Signature: ${response.signature}
Certificate: ${response.certificate}
Challenge: ${response.challenge}
''');
    } catch (e) {
      _setResult('Xəta baş verdi: $e');
    } finally {
      setState(() => _isLoading = false);
    }
  }

  void _setResult(String text) {
    setState(() => _resultText = text);
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text('SIMA Plugin Example')),
      body: Padding(
        padding: const EdgeInsets.all(16),
        child: Column(
          crossAxisAlignment: CrossAxisAlignment.stretch,
          children: [
            ElevatedButton(
              onPressed: _isLoading ? null : _startSima,
              child: _isLoading
                  ? const SizedBox(
                      width: 18,
                      height: 18,
                      child: CircularProgressIndicator(strokeWidth: 2),
                    )
                  : const Text('Sign with SIMA'),
            ),
            const SizedBox(height: 24),
            Expanded(
              child: SingleChildScrollView(
                child: SelectableText(
                  _resultText,
                  style: const TextStyle(fontSize: 14),
                ),
              ),
            ),
          ],
        ),
      ),
    );
  }
}
0
likes
0
points
56
downloads

Publisher

verified publishersec.az

Weekly Downloads

Flutter plugin for SIMA digital signature integration.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

crypto, flutter

More

Packages that depend on sima

Packages that implement sima