okhi_flutter 2.0.0 copy "okhi_flutter: ^2.0.0" to clipboard
okhi_flutter: ^2.0.0 copied to clipboard

The OkHi Flutter library will enable you to start collecting and verifying your user's addresses.

example/lib/main.dart

import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:okhi_flutter/models/okhi_location_manager_configuration.dart';
import 'package:okhi_flutter/okhi_flutter.dart';
import 'package:okhi_flutter_example/widgets/full_button.dart';

void main() {
  runApp(const MyApp());
}

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

  @override
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  bool isInitialized = false;

  final appConfig = OkHiAppConfiguration(
    branchId: "<my_branch_id>",
    clientKey: "<my_client_key_id>",
    env: OkHiEnv.prod,
  );

  final locationManagerConfiguration = OkHiLocationManagerConfiguration(
    color: "#029e52",
    appName: "OkHi Flutter Demo",
    logoUrl:
        "https://okhi.com/wp-content/uploads/2020/06/cropped-okhi-favicon-192x192.png",
    withAppBar: true,
    withCreateMode: true,
    withHomeAddressType: true,
    withWorkAddressType: true,
    withStreetView: true,
  );

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(title: const Text('OkHi Flutter Demo')),
        body: _renderBody(),
      ),
    );
  }

  _renderBody() {
    if (!isInitialized) {
      return Center(
        child: ElevatedButton(
          onPressed: () {
            final user = _createOkHiUser();
            OkHi.initialize(appConfig, user, locationManagerConfiguration)
                .then((result) {
                  setState(() {
                    isInitialized = true;
                  });
                })
                .onError((error, stackTrace) {
                  // handle initialization error
                });
          },
          child: const Text('Initialize OkHi'),
        ),
      );
    } else {
      return Column(
        children: [
          Text(
            "OkHi Initialized successful!",
            style: TextStyle(
              color: Colors.green,
              fontWeight: FontWeight.bold,
              fontSize: 18,
            ),
          ),
          SizedBox(height: 10),
          FullButton(
            title: "Create a digital address",
            onPressed: () {
              OkHi.startDigitalAddressVerification(
                onSuccess: (locationId) {
                  if (kDebugMode) {
                    print(
                      "Digital address verification successful! Location ID: $locationId",
                    );
                  }
                },
                onError: (error) {
                  if (kDebugMode) {
                    print("Digital address verification failed! Error: $error");
                  }
                },
              );
            },
          ),
        ],
      );
    }
  }

  OkHiUser _createOkHiUser() {
    return OkHiUser(
      phone: "+25471...",
      firstName: "John",
      lastName: "Doe",
      appUserId: "abcd1234",
      email: "john@okhi.co",
    );
  }
}
3
likes
140
points
715
downloads

Publisher

verified publisherokhi.co

Weekly Downloads

The OkHi Flutter library will enable you to start collecting and verifying your user's addresses.

Homepage
Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

flutter, plugin_platform_interface

More

Packages that depend on okhi_flutter

Packages that implement okhi_flutter