Upgrade Guide for Anyline 54.2.1

We have completed a major update to the Anyline classes in version 48. If you were coming from a previous Anyline 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.)

👉 Have a look at Scanning Capabilities as well as 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.


Questions or need further assistance? Please reach out to the Anyline Support Helpdesk.