![]() |
IDTech Windows SDK Guide
3.2.4.393
API reference for Visual Studio .Net
|
The IDTech SDK can be use on iOS and Android platform when coding with MAUI in Visual Studio.
Once you have established your MAUI project, right-click on your project and select "Manage NuGet Packages..." import IDTech.Maui.Comm from NuGet. Note, this will automatically import the other libraries, including the iOS and Android binding libraries, and IDTechSDK.dll. There is no need to separately import IDTechSDK_STD from NuGet
NOTE: You need to save your project as a solution (.sln) before you will be able to manage NuGet packages.
In the Main routine in Program.cs in the Platforms/iOS, execute IDTech.Maui.Comm.IDTechBinding.Init(); BEFORE the app delegate.
Add permissions to your info.plist
If you are planning on using the lightning connector and External Accessory Protocol, include the protocol string for the product(s) you would like to use. NOTE: Your app will need approval to use any listed devices before publishing to App Store, so only include devices you plan to use. If you don't plan on using any of the Lightning Connector devices, exclude this key from your .plist
VP3350 = com.idtechproducts.neo BTMag = com.idtechproducts.BTMag BTPay = com.idtechproducts.BTPay 200 iMag = com.idtechproducts.reader
If you are planning on using BLE devices, add the following:
If you are planning on using Audio Jack devices, add the following:
In the MainActivity onCreate routine for Android, execute IDTech.Maui.Comm.IDTechBinding.Init(this) BEFORE base.OnCreate.
In the MainActivity onCreate routine for Android, set this.RequestPermissions AFTER LoadApplication.
After the RequestPermission are established, enable the USB drivers in IDTechBinding by execcuting IDTech.Maui.Comm.IDTechBinding.enableUSB();
In your manifest of your Android Project, set the required permissions. You can set the manifest by editing Android Project Options ->Android Application->Required Permissions and select the following
IDTech SDK was imported when you imported the IDTech.Maui.Comm library into the main project.
Other than special considerations for connecting to the devices on the mobile platform (specified below), follow the standard project development procedures by references in the other sections of this help document and also Windows Forms IDTech SDK uDemo source code "dot NET SDK Demo Source Code.zip". Standard development consists of setting the callback, and then executing API commands using a shared controller. The project page with these files can be found at: https://atlassian.idtechproducts.com/confluence/display/KB/Universal+Library+for+Visual+Studio+-+Home
There are four groups of devices that can be used on Android: Bluetooth Low Energy, Auido Jack, USB, Audio Jack and Serial
There are three groups of devices that can be used on iOS: Bluetooth Low Energy, Lightning Connector, and Audio Jack
You connect to a BLE device using the following method:
The first parameter is the device type. This can have one of three possible values: IDT_DEVICE_Types.IDT_DEVICE_VP3300 - VP3300, VP8300 IDT_DEVICE_Types.IDT_DEVICE_NEO2 - VP3600, VP3320, VP3350 (VP6800 BLE is currently not supported) IDT_DEVICE_Types.IDT_DEVICE_NONE - scan for name when no name provided
The second parameter is the device name that you would like to connect to.
If you don't specify a name (and set device type to IDT_DEVICE_Types.IDT_DEVICE_NONE), the SDK will scan the area and return a list of all found names. You can then use one of those names to attempt to connect to that device. When the SDK finishes scanning the area (2-3 seconds), it will return a callback DeviceState.BTListReady. You can then execute IDT_Device.getBLEDeviceList() to retrieve the list of device names found in the vicinity.
The first parameter is the type of device you would like to connect to. If you would like to connect to a MiniSmartII, you would pass IDT_DEVICE_Types.IDT_DEVICE_MINISMARTII
The second parameter is the baud rate. If you pass a value of 0, it will use the factory default baud rate. Otherwise, if the baud rate was changed, you specify it here (example 9600)
Here are the available devices to configure the SDK for the correct model audio jack product
Then when a plug insertion event is detected, you power up the device:
There is a DeviceMessage callback. These are device message returned from various audio jack products. Messages such as "POWERING UNIPAY" and "PLEASE SWIPE"
The UniPay may have ICC messages