Following is the guide for utilizing the the barKoder Xamarin Plugin. Follow the simple steps below to use the barKoder SDK in your Xamarin project:
using Barkoder.Xamarin;
Our SDK requires camera permission to be granted in order to use scanning features. For Android, the permission is set in the manifest from the package. For iOS you need to specify camera permission in Info.plist file inside your project
<key>NSCameraUsageDescription</key>
<string>Camera permission</string>
private BarkoderView BkdView;
BkdView = FindViewById<BarkoderView>(Resource.Id.barkoderView);
BkdView = new BarkoderView();
var barkoderView = BkdView.View;
BkdView = new BarkoderView();
var BarkoderView = BkdView.View;
View.AddSubview(BarkoderView);
...
// TODO: Add constraints to BarkoderView
// In order to perform scanning, config property need to be set before
BkdView.Config = new BarkoderConfig("LICENSE_KEY");
BkdView.Config.DecoderConfig = new DecoderConfig();
private void SetBarkoderSettings()
{
// These are optional settings, otherwise default values will be used
BkdView.Config.ImageResultEnabled = true;
BkdView.Config.LocationInImageResultEnabled = true;
BkdView.Config.RegionOfInterestVisible = true;
}
private void SetActiveBarcodeTypes()
{
/// There is option to set multiple active barcodes at once as array
BkdView.Config.DecoderConfig.SetEnabledDecoders(
new NSNumber[] {
(int)DecoderType.Qr,
(int)DecoderType.Ean13
}
);
// or configure them one by one
BkdView.Config.DecoderConfig.UpcA.Enabled = true;
}
private void SetActiveBarcodeTypes()
{
/// There is option to set multiple active barcodes at once as array
BkdView.Config.DecoderConfig.SetEnabledDecoders(
new BKD.DecoderType[] {
BKD.DecoderType.Qr,
BKD.DecoderType.Ean13
}
);
// or configure them one by one
BkdView.Config.DecoderConfig.UpcA.Enabled = true;
}
Inside MethodResultCallBackDecoderResultWithCompletion callback function the SDK is fully initialized and ready for configuration or to start the scanning process
// Starting to scan
BkdView.StartScanning((result) =>
// Fetching data
// TODO: Getting results
);
// Starting to scan
BkdView.StartScanning(this);
// Fetching data
public void ScanningFinished(BKD.Result[] results, Bitmap resultImage)
{
// TODO: Getting results
}
The SDK will scan barcodes even without a valid license; however all results will be randomly masked with (*) Asterisk characters. By using our software you are agreeing to our End User License Agreement. To obtain a valid license, one should create an account here and either get a trial license (to test the software out) or procure a production license through this link that can be used within a live app.