Native implementation of the Persona Inquiry flow for Flutter.
This plugin integrates the native v2 SDKs:
Feel free to leave any feedback here.
Important: Persona stopped support for v1 on December 31, 2022. If you need the older mobile integration, check the version 2.1.5 of this plugin or v1 branch of this repository.
Add persona_flutter
as a dependency in your pubspec.yaml file.
iOS 13.0 or later is required.
Update your ios/Runner/Info.plist
:
<key>NSCameraUsageDescription</key>
<string>This app requires access to the camera.</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>This app requires access to the photo library.</string>
Optionally if you need support for video, NFC verifications or GPS collections, add to your ios/Runner/Info.plist
:
<key>NSMicrophoneUsageDescription</key>
<string>This app requires access to the microphone.</string>
<key>NFCReaderUsageDescription</key>
<string>This app requires access to the NFC.</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>This app requires access to the Location when in use.</string>
Note: Cocoapods 1.9.3 has a bug that prevents builds from selecting the correct architecture. See more details here. Please downgrade to 1.8.x or upgrade to 1.10.x
The Persona SDK collects a user’s IDFV for fraud prevention purposes. In App Store Connect > Your App > App Privacy, if you haven’t already add in a “Device Identifier,” and fill out the questionnaire with the following answers:
Be sure to also update your privacy manifest according to the features you are making use of from the SDK. See our iOS Privacy Manifest instructions for more information.
Change the minSdkVersion
to 21 (or higher) in your android/app/build.gradle
file.
Declare the following permissions:
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.INTERNET" />
This SDK collects a user’s App-Set ID for Fraud Prevention purposes. When publishing to the Play Store, disclose the usage of Device Identifiers as follows:
Using the styles.xml
of your app, you can set colors, buttons and more to customize the Persona flow to your own style. Just extend the base Persona style Base.Persona.Inquiry.Theme
and name it Persona.Inquiry.Theme
.
<style name="Persona.Inquiry.Theme" parent="@style/Base.Persona.Inquiry.Theme">
<item name="colorPrimary">#22CB8E</item>
<item name="colorAccent">#22CB8E</item>
<item name="colorPrimaryDark">#167755</item>
</style>
and in your InquiryConfiguration
set the theme:
...
theme: InquiryTheme(source: InquiryThemeSource.client)
...
Important: Client side theming is deprecated. Themes can be managed in the Dashboard with Persona's visual editor. See the detailed tutorial for more information.