Upgrade Guide for Anyline 56.0.0

This documentation is deprecated and refers to the legacy Anyline SDK plugin. For the current documentation, see Infinity Plugins.


Version 48 introduces a major update to the Anyline classes. If you are coming from a previous version, it is important to go over some of the more significant changes in this page.

Updated JSON Configuration

Here’s a direct comparison of the same JSON configuration in the old vs. new style:

Old JSON

New JSON

meterPlugin: {
  "camera": { (1)
    "captureResolution": "1080p",
    "pictureResolution": "1080p"
  },
  "flash": { (2)
    "mode": "manual",
    "alignment": "top_right"
  },
  "viewPlugin": { (3)
    "plugin": { (4)
      "id": "METER_PLUGIN",
      "meterPlugin": {
        "scanMode": "AUTO_ANALOG_DIGITAL_METER"
      }
    },
    "cutoutConfig" : {
      "style" : "rect",
      "alignment" : "top",
      "strokeWidth" : 2,
      "strokeColor" : "FFFFFF",
      "cornerRadius" : 4,
      "outerColor" : "000000",
      "outerAlpha" : 0.5,
      "feedbackStrokeColor" : "0099FF",
      "offset": {
        "x": 0,
        "y": 120
      }
    },
    "scanFeedback": { (5)
      "style": "CONTOUR_RECT",
      "strokeColor": "0099FF",
      "strokeWidth": 2,
      "fillColor": "220099FF",
      "cornerRadius": 2,
      "redrawTimeout": 200,
      "animationDuration": 75,
      "blinkOnResult": true,
      "beepOnResult": true,
      "vibrateOnResult": true
    },
    "cancelOnResult": true (6)
  }
}
meterPlugin: {
  "cameraConfig": { (7)
    "captureResolution": "1080p",
    "pictureResolution": "1080p"
  },
  "flashConfig": { (8)
    "mode": "manual",
    "alignment": "top_right"
  },
  "viewPluginConfig": { (9)
    "pluginConfig": {
      "id": "METER_PLUGIN",
      "meterConfig": {
        "scanMode": "auto_analog_digital_meter"
      },
      "cancelOnResult": true (10)
    },
    "cutoutConfig" : {
      "style" : "rect",
      "alignment" : "top",
      "strokeWidth" : 2,
      "strokeColor" : "FFFFFF",
      "cornerRadius" : 4,
      "outerColor" : "000000",
      "outerAlpha" : 0.5,
      "feedbackStrokeColor" : "0099FF",
      "offset": {
        "x": 0,
        "y": 120
      }
    },
    "scanFeedbackConfig": { (11)
      "style": "CONTOUR_RECT",
      "strokeColor": "0099FF",
      "strokeWidth": 2,
      "fillColor": "220099FF",
      "cornerRadius": 2,
      "redrawTimeout": 200,
      "animationDuration": 75,
      "blinkOnResult": true,
      "beepOnResult": true,
      "vibrateOnResult": true
    }
  }
}
1 camera is now called cameraConfig (see 7.)
2 flash is now called flashConfig (see 8.)
3 viewPlugin is now called viewPluginConfig (see 9.)
4 plugin is now called pluginConfig and does not include a plugin anymore, instead it includes the XXXconfig (in this case meterConfig)
5 scanFeedback is now called scanFeedbackConfig (see 11.)
6 cancelOnResult is not part of the viewPlugin anymore, instead it is part of the pluginConfig (see 10.)

See Scanning Capabilities and Anyline View Configuration for more specific implementation details.

Updated Scan Result JSON Structure

In Anyline 43, the object returned from a successful scan was updated with a new JSON structure.

Below is a typical example of a result object returned from a meter scan:

{
    "pluginID": "auto-meter",
    "meterResult": {
        "value": "00613.83"
    },
    "confidence": 99,
    "cropRect": { "x": 204, "y": 410, "height": 298, "width": 671 },
    "imagePath": "/var/mobile/Containers/...",
    "fullImagePath": "/var/mobile/Containers/..."
}

From the above, note the meterResult node which contains the actual scan result. The name meterResult also implies the use of the Anyline meter scan plugin: if a different plugin was used, expect to see a different result node to be returned (e.g. tinResult for TIN scanning, or universalIdResult for ID scanning, etc.).

You can read more about the result structure in Plugin Result Parameters.

Get help

If there is anything you are missing, you require support, or want to provide us with feedback, please reach out to us via https://support.anyline.com, where you either may find helpful information in our Knowledge Base or you can open a Support Ticket for more specific inquiries.

In order to better assist you, please include any code of your Anyline integration and any ScanViewConfig you are using.