Skip to main content

Getting started | Xamarin Document Scanner

Installation#

The Scanbot SDK is provided as NuGet packages

Install ScanbotSDK.Xamarin.Forms if your project is based on Xamarin.Forms, otherwise install ScanbotSDK.Xamarin.

You can install them directly in Visual Studio IDE. Open your App-Solution in Visual Studio, select your iOS or Android project and click on the menu item Project -> Add NuGet Packages.
Make sure nuget.org is selected as source and search for the package.

By clicking on Add Package the Scanbot SDK will be downloaded and installed into your project. Do that for both your iOS and Android projects. Also, ScanbotSDK.Xamarin.Forms must be installed in the portable app project (if one exists - not necessary if you are using a shared project).

Android settings#

Enable Multi-Dex

Android Project => Options => Android Build => General => Enable Multi-Dex

alt

ABI Settings

The Scanbot SDK uses native libraries under the hood and supports the following ABIs: armeabi-v7a, arm64-v8a, x86 and x86_64.

Please adjust the Supported ABIs configuration in your Android project settings accordingly:

Android Project => Options => Android Build => Advanced => Supported ABIs ...

alt

Please note: In most cases the architectures x86 and x86_64 can be removed for the release (production) build, since they are only used on emulators and on some rare devices with the Intel Atom architecture. The support for the x86_64 architecture was added in version 1.4.0 of ScanbotSDK.Xamarin. Also, by removing the "x86" architectures the size of the app package (APK) will be reduced.

Furthermore, please increase the Java Heap Size value to 4G. This is required for the build process.

ProGuard

If you need to enable ProGuard for your Android release build, please check this full list of the ProGuard rules for the Scanbot SDK.

Permissions#

Required permissions for Android

Make sure to add the Camera permission in your AndroidManifest.xml file:

<uses-permission android:name="android.permission.CAMERA" /><uses-feature android:name="android.hardware.camera" />

Required permissions for iOS

Add the following properties to your Info.plist file:

  • "Privacy - Camera Usage Description" (NSCameraUsageDescription). Describe why your app wants to access the device's camera.