Upgrade Guide for Anyline 43.0.0+

Xamarin End of Life Announcement

Anyline has been a longstanding provider of the Mobile SDK for Xamarin, catering to developers' needs for several years. As of autumn 2022, we have seamlessly transitioned our support to encompass the SDK for .NET (MAUI), recognized as the official successor to Xamarin.

In alignment with Microsoft’s recommendation to migrate from Xamarin to .NET, and considering Microsoft’s cessation of support for Xamarin by May 2024, Anyline will discontinue the release of any additional updates, including new features or bug fixes, for Anyline Mobile SDK for Xamarin.

Please find the Anyline Mobile SDK for .NET here.

We have completed a major update to the Anyline classes in version 43. If you were coming from a previous Anyline version, it is important to go over some of the more significant changes in this page. For more detailed information about the classes, please head over to the specific documentation for the Android and iOS SDKs.

Updating the JSON configuration

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

Old JSON

New JSON

{
  "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)
  }
}
{
  "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 the Scanning Capabilities section for more specific implementation details. 👈

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