1.0.6 • Published 8 years ago

flomio_cordova_plugin v1.0.6

Weekly downloads
3
License
ISC
Repository
github
Last release
8 years ago

Flomio Cordova Plugin

Flomio's SDK plugin for Cordova / Meteor

Important: targeting of specific readers via their UID is not supported, but will be in SDK v2.0. In the mean time, please omit any readerUid arguments. This means that all readers will be targeted with any functions you call

Requires Flomio SDK version 1.9

Installation

cordova create flomio-plugin-example-app && cd $_
--
meteor create flomio-plugin-example-app && cd $_
  • Add the plugin to it.
cordova plugin add https://github.com/flomio/flomio_cordova_plugin.git
--
meteor add cordova:com.flomio.sdk@https://github.com/flomio/flomio_cordova_plugin/tarball/<latest-commit-code>
  • Register plugin within config.xml of your app in Cordova. Meteor takes care of this for you (so skip this step).
<feature name="FlomioPlugin">
    <param name="ios-package" value="FlomioPlugin" />
</feature>
  • Implement a simple code snippet to test your setup.
function resultCallback(result)
{
	console.log(result);
}
flomioPlugin.init();
flomioPlugin.selectReaderType("flojack-msr");
flomioPlugin.startReader(resultCallback);  // note: reader UID is omitted so all connected devices will start polling
  • Prepare the app.
cordova prepare
--
meteor add-platform ios
  • Open the generated Xcode project located at platforms/ios or with Meteor, .meteor/local/cordova-build/platforms/ios.

  • Drag and drop the Flomio SDK folder into the project (check "Create groups" and "Add to targets").

  • Add -lc++ to "Other Linker Flags" under "Build Settings".

  • Build and run the app on an iOS device.

API

Required for operation

  • init()

    	Initialises the plugin, preparing it for first use in the current session
  • selectReaderType(readerType)

    	Activates the specified reader type for the current session. Choice of FloJack-BZR, FloJack-MSR, FloBLE-EMV or FloBLE-Plus
    
    	`String readerType: <"flojack-bzr", "flojack-msr", "floble-emv" or "floble-plus">`

Optional methods

  • setReaderSettings(readerSettings, [optional]readerUid)

    	Configures settings for a target reader for the current session. Every setting in `readerSettings` is optional
    
    	```
    	Object readerSettings
    	{
    		int scanPeriod,  // scan period in ms
    		bool scanSound,  // toggle scan sound on/off
    		String operationState: <"read-uid", "read-data-blocks" or "write-data-blocks">,
    		int startBlock,  // the data block from which to start reading
    		String messageToWrite  // default message to write
    	}
    	```
    	`String readerUid:` the unique ID number of the target reader
  • getReaderSettings(resultCallback, readerUid)

    	Retrieves settings for a target reader
    
    	```
    	function resultCallback(result)
    	Object result
    	{
    		int scanPeriod,  // scan period in ms
    		bool scanSound,  // toggle scan sound on/off
    		String operationState: <"read-uid", "read-data-blocks" or "write-data-blocks">,
    		int startBlock,  // the data block from which to start reading
    		String messageToWrite  // default message to write
    	}
    	```
    	`String readerUid:` unique ID number of the target reader
  • onReaderStatusChange(resultCallback)

    	Assign a callback function to fire when the status of **any** reader changes
    
    	```
    	function resultCallback(result)
    	Object result
    	{
    		String readerUid,  // unique ID number of the reader
    		bool connected,  // whether or not the reader is connected
    		int batteryLevel  // battery level of the reader in %
    	}
    	```
  • onFlobleConnect(resultCallback)

    	Assign a callback function for when a new FloBLE device connects to the mobile device
    
    	```
    	function resultCallback(result)
    	Object result
    	{
    		String readerUid  // unique ID number of the reader
    	}
    	```
  • startReader(resultCallback, readerUid)

    	Start polling for proximity ID tags with a connected **FloJack** reader
    
    	```
    	function resultCallback(result)
    	Object result
    	{
    		String tagUid,  // unique ID number of the tag
    		String readerUid  // unique ID number of the reader
    	}
    	```
    	`String readerUid:` unique ID number of the target reader
  • stopReader(readerUid)

    	Stop polling on the target reader
    
    	`String readerUid:` unique ID number of the target reader
  • sendApdu(resultCallback, readerUid, apdu)

    	Sends an APDU command to the target reader and receives the response APDU
    
    	```
    	function resultCallback(result)
    	Object result
    	{
    		String responseApdu  // hexidecimal format
    	}
    	```
    	`String readerUid:` unique ID number of the target reader
    
    	`String apdu:` command to be sent to the target reader (hexadecimal format)
1.0.6

8 years ago

1.0.4

8 years ago

1.0.3

8 years ago

1.0.2

8 years ago

1.0.1

8 years ago

1.0.0

8 years ago