0 purchases
brother printer
brother_printer #
Brother printer SDK for Flutter using native SDK v4.
Installation #
Be sure to read requirements of the native SDK:
https://support.brother.com/g/s/es/htmldoc/mobilesdk/
Add this to your package's pubspec.yaml file:
dependencies:
brother_printer: ^0.2.0
copied to clipboard
iOS #
In the Podfile uncomment:
platform :ios, '13.0'
copied to clipboard
In the Info.plist add:
<key>NSBluetoothAlwaysUsageDescription</key>
<string>Bluetooth is required for connection to your printer.</string>
<key>NSBluetoothPeripheralUsageDescription</key>
<string>Bluetooth is required for connection to your printer.</string>
<key>NSLocalNetworkUsageDescription</key>
<string>${PRODUCT_NAME} uses the local network to discover printers on your network.</string>
<key>UISupportedExternalAccessoryProtocols</key>
<array>
<string>com.brother.ptcbp</string>
</array>
<key>NSBonjourServices</key>
<array>
<string>_printer._tcp</string>
<string>_pdl-datastream._tcp</string>
<string>_ipp._tcp</string>
</array>
copied to clipboard
Android #
Connection doesn't seem to work on emulator.
Add permissions:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission
android:name="android.permission.BLUETOOTH_SCAN"
android:usesPermissionFlags="neverForLocation"
tools:targetApi="s" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
copied to clipboard
You have to manually authorized the location permission on the device (will be improve later).
Warning
You may have some crash in release mode, you can add this to your android/app/build.gradle:
buildTypes {
release {
minifyEnabled false
shrinkResources false
signingConfig signingConfigs.release
}
}
copied to clipboard
Notes #
There are difference between what return the iOS version and the Android version
print('${device.model.nameAndroid} - ${device.source} - ${device.modelName} - ${device.ipAddress} - ${device.printerName} - ${device.macAddress} - ${device.nodeName} - ${device.serialNumber} - ${device.bleAdvertiseLocalName}');
# iOS
QL-820NWB - BrotherDeviceSource.network - Brother QL-820NWB - 10.0.0.1 - Brother QL-820NWB - b0:68:e6:97:db:42 - BRWB068E697DB42 - K9Z195606 - null
QL-820NWB - BrotherDeviceSource.bluetooth - QL-820NWB - null - QL-820NWB5606 - null - null - 806FB0BABE7C - null
Network: modelName, ipAddress, printerName, network macAddress, nodeName, serialNumber
Bluetooth: modelName, printerName, serialNumber
# Android
QL-820NWB - BrotherDeviceSource.network - Brother QL-820NWB - 10.0.0.1 - null - B0:68:E6:97:DB:42 - BRWB068E697DB42 - null - null
QL-820NWB - BrotherDeviceSource.bluetooth - null - null - QL-820NWB5606 - 80:6F:B0:BA:BE:7D - null - null - null
Network: modelName, ipAddress, network macAddress, serialNumber
Bluetooth: printerName, bluetooth macAddress
copied to clipboard
Author #
Jonathan VUKOVICH
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.