Skip to content

Repository files navigation

react-native-socket-mobile

CircleCICoverage Statusnpm versionLicense: MIT

This native module is a wrapper over the Socket Mobile SDK. If you have a developer account and valid credentials, you will be able to use your scanner within your React Native application.

Table of contents

Installation

Add the library using yarn or npm:

yarn add react-native-socket-mobile

iOS

This library depends on the SKTCaptureObjC SDK. We will be using Cocoapods.

  1. Install CocoaPods on your marchine.
  2. Within you application, go to the ios/ directory and run pod init
  3. Replace the content within your brand-new Podfile with:
source'https://github.com/CocoaPods/Specs.git'platform:ios,'9.0'target'YourAppName'donode_modules_path='../node_modules'pod'yoga',path: "#{node_modules_path}/react-native/ReactCommon/yoga/yoga.podspec"pod'React',path: "#{node_modules_path}/react-native"pod'ReactNativeSocketMobile',path: "#{node_modules_path}/react-native-socket-mobile/ios"endpost_installdo |installer|
installer.pods_project.targets.eachdo |target|
iftarget.name == "React"target.remove_from_projectendendend
  1. Run pod install.
  2. Open <YOUR_PROJECT_NAME>.xcworkspace file (you'll need to use it as a starting file from now on).
  3. Important: You need to add the following to your XCode project:
Info
Supported external accessory protocolscom.socketmobile.chs

Android

No support for now.

API Reference

start({ bundleId: string, developerId: string, appKey: string }): Promise<boolean | Error>

Start listening for a scanner to be connected.

start=async()=>{try{awaitSocketMobile.start({
bundleId,
developerId,
appKey,});}catch(e){// Handle the error}};

stop() : Promise<boolean | Error>

Stop connection to the scanner.

stop=async()=>{try{awaitSocketMobile.stop();}catch(e){// Handle the error}};

updateStatusFromDevices() : Promise<string>

Get current list of connected devices.

updateStatusFromDevices=async()=>{conststatus=awaitSocketMobile.updateStatusFromDevices();};

setDataListener(callback: (result: { data: string }): void

Listens for scanning results (after we got connected to the device).

SocketMobile.setDataListener(({ data })=>{this.setState({lastScan: data});});

setDeviceStatusListener(callback: (status: 'connected'|'disconnected'): void

Listen for scanner connection changes.

SocketMobile.setDeviceStatusListener(status=>{if(status==='connected'){this.setState({status: 'connected'});}else{this.setState({status: 'disconnected'});}});

clearAllListeners() : void

Remove all listeners, typically called in componentWillUmmount.

componentWillUnmount(){SocketMobile.clearAllListeners();}

About

React Native module for the Socket Mobile SDK.

Resources

Code of conduct

Contributing

Stars

34 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages