Flutter
Add the MetaMap button to your Flutter app.
Mati for Flutter Usage Guide
Flutter Demo App
You can go to GitHub to download the Mati Flutter demo app.
Dependencies
Add metamap_plugin_flutter
dependency to your pubspec.yaml
file:
metamap_plugin_flutter: 3.0.0
Install Mati for Flutter
Install the Mati Flutter plugin for:
Android
For Android check that the minSdkVersion
in <YOUR_APP>/build.gradle
is ≥21
iOS
The targeted OS version should be a minimum of 12+.
Add the following to info.plist
:
<key>NSCameraUsageDescription</key>
<string>Mati verification SDK requires camera use</string>
<key>NSMicrophoneUsageDescription</key>
<string>Mati verification SDK requires microphone use</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>Mati verification SDK requires access to media library</string>
Implement Mati in Your App
To start the Mati verification flow, call the following when the user taps on the Mati button:
MatiFlutter.showMatiFlow(CLIENT_ID, FLOW_ID, METADATA)
The verification results will arrive in MatiFlutter.resultCompleter.future
in a reply similar to the following:
MatiFlutter.resultCompleter.future.then((result) => Fluttertoast.showToast(
msg: result is ResultSuccess ? "Success ${result.verificationId}" : "Cancelled",
toastLength: Toast.LENGTH_SHORT,
gravity: ToastGravity.BOTTOM));
Example Application
The following is an example application (MyApp) with the Mati verification flow:
import 'package:flutter/material.dart';
import 'package:metamap_plugin_flutter/metamap_plugin_flutter.dart';
import 'package:fluttertoast/fluttertoast.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Mati flutter plugin demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: MyHomePage(),
);
}
}
class MyHomePage extends StatefulWidget {
MyHomePage({Key? key}) : super(key: key);
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
void showMatiFlow() {
MatiFlutter.showMatiFlow("CLIENT_ID", "FLOW_ID", {});
MatiFlutter.resultCompleter.future.then((result) => Fluttertoast.showToast(
msg: result is ResultSuccess ? "Success ${result.verificationId}" : "Cancelled",
toastLength: Toast.LENGTH_SHORT,
gravity: ToastGravity.BOTTOM));
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("Mati flutter plugin demo"),
),
body: Center(
child: ElevatedButton(
onPressed: showMatiFlow,
child: const Text('Verify me'),
)
)
);
}
}
Updated about 2 years ago