Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

react-native-star-io10

Package Overview
Dependencies
Maintainers
1
Versions
10
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-native-star-io10

react-native-star-io10 is a library for supporting application development for Star Micronics devices.

  • 1.3.0
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

  • 日本語

react-native-star-io10

react-native-star-io10 is a library for supporting application development for Star Micronics devices.

This library is included in StarXpand SDK.

Documentation

Please refer here for StarXpand SDK documentation.

Documentation includes an overview of the SDK, how to build a sample application, how to use the API, and a API reference.

Requirements

PlatformVersionArch
iOSiOS 12.0 or laterDevice: arm64
Simulator: x86_64, arm64
AndroidAndroid 6.0 or laterarm64-v8a, armeabi-v7a, x86, x86_64
WindowsWindows 11 / Windows 10 1909 or laterx86, x64

Installation

npm install react-native-star-io10 --save

iOS

Some settings and approvals are required depending on the printer interface.
Please check the table below and take action.

Interface of the printerNecessary actions
Bluetooth1. & 2. & 4.
Bluetooth Low Energy2.
Ethernet (iOS14 or later)3.
Lightning USB1. & 4.

1. Set Supported external accessory protocols
  1. Click on the information property list file (default : “Info.plist”).
  2. Add the Supported external accessory protocols Key.
  3. Click the triangle of this key and set the value for the “Item 0” to jp.star-m.starpro.

:warning: If you do not use the printer concerned, do not configure this setting.

2. Set Bluetooth Always Usage Description and Bluetooth Peripheral Usage Description
  1. Click on the information property list file (default : “Info.plist”).
  2. Add the Privacy – Bluetooth Always Usage Description Key.
  3. If you set Deployment Target to iOS12, add the Privacy – Bluetooth Peripheral Usage Description Key.
  4. Set the reason for using Bluetooth in Value (e.g. Use Bluetooth for communication with the printer.)
  5. When communicating with the Bluetooth printer on iOS 13 or later, an alert requesting permission to access Bluetooth is displayed. The string set in Value is displayed in the alert as the reason for using Bluetooth.

For more information, please refer to the following URL.

https://developer.apple.com/documentation/bundleresources/information_property_list/nsbluetoothperipheralusagedescription

3. Set Local Network Usage Description
  1. Click on the information property list file (default : “Info.plist”).
  2. Add the Privacy - Local Network Usage Description Key.
  3. Set the reason for using Local Network in Value (e.g. Use Local Network for communication with the printer or discovery the printers.)
  4. When communicating with the Ethernet printer on iOS 14 or later, an alert requesting permission to access Local Network is displayed. The string set in Value is displayed in the alert as the reason for using Local Network.

4. Apple Approval Process for STAR MFi Applications

In order to offer your application that communicates a MFi certified printer on the Apple iTunes App Store, your application needs to be approved by the Apple MFi program before you submit it to the Apple iTunes App Store. Please follow the steps described in the URL below to obtain the app approval. This procedure must be completed before the app is reviewed by Apple.

https://star-m.jp/eng/products/s_print/apple_app_mfi.html

:warning: In case of a Bluetooth Low Energy printer, you do not need to obtain this app approval.

Android

Refer to sample code and request BLUETOOTH_CONNECT permission before starting to communicate with or search for the printer.

Windows

  • Add Capability in Package.appxmanifest.
    • Bluetooth
    • Internet (Client)
    • Private Networks (Client & Server)
  • Add "Visual C++ 2015-2019 UWP Desktop Runtime for native apps" to the project "References".

Limitations

Cannot build for Windows x86

StarXpand SDK V1.3.0 using React Native for Windows V0.71.3 cannot be built for Windows x86 architecture, available only for x64 architecture.

When using Android device, an image specified by URL is sometimes printed in a low resolution

In Android, when an image file size is large, and its URL is specified as the source of the ImageParameter which is the argument of the actionPrintImage method, the image may be printed in low resolution.

This can be solved by either of the following methods:

  • Reduce a file size of an image by lowering the resolution beforehand.
  • Download an image in the app and specify the image file directly as the source.

Examples

StarXpand SDK includes an example application that can be used in combination with the printer to check its operation. Please use it in conjunction with the explanations of each function in the linked pages.

1. Discover printers
2. Create printing data

Printing samples of labels (sample code and print results) for each type of business that you can use for your print layouts are also available.

:warning: Some printer models may not be able to print some samples. Please adjust the layout accordingly when using this samples.

3. Send printing data
4. Send printing data using spooler function
5. Get printer status
6. Monitor printer

Get printer status

async getStatus(): Promise<void> {
    // Specify your printer connection settings.
    var settings = new StarConnectionSettings();
    settings.interfaceType = InterfaceType.Lan;
    settings.identifier = '00:11:62:00:00:00';
    var printer = new StarPrinter(settings);

    try {
        // Connect to the printer.
        await printer.open();

        // Get printer status.
        var status = await printer.getStatus();
        console.log(status);
    }
    catch(error) {
        // Error.
        console.log(error);
    }
    finally {
        // Disconnect from the printer and dispose object.
        await printer.close();
        await printer.dispose();
    }
}

Monitor printer

printer: StarPrinter;

async monitor(): Promise<void> {
    // Specify your printer connection settings.
    var settings = new StarConnectionSettings();
    settings.interfaceType = InterfaceType.Lan;
    settings.identifier = '00:11:62:00:00:00';
    printer = new StarPrinter(settings);

    // Callback for printer state changed.
    printer.printerDelegate.onReady = () => {
        console.log(`Printer: Ready`);
    }
    printer.drawerDelegate.onOpenCloseSignalSwitched = (openCloseSignal) => {
        console.log(`Drawer: Open Close Signal Switched: ${String(openCloseSignal)}`);
    }
    printer.inputDeviceDelegate.onDataReceived = (data) => {
        console.log(`Input Device: DataReceived ${String(data)}`);
    }
    printer.displayDelegate.onConnected = () => {
        console.log(`Display: Connected`);
    }
    // ...
    // Please refer to document for other callback.

    try {
        // Connect to the printer.
        await printer.open();
    }
    catch(error) {
        // Error.
        console.log(error);
    }
}

Copyright 2021 Star Micronics Co., Ltd. All rights reserved.

Keywords

FAQs

Package last updated on 17 Apr 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc