Programming Languages

2 minute read

Code generated functions based on your tracking plan

The generated code gives you access to functions, each function representing an event, user identification, user properties update, page view, revenue or mix of those as they are defined in your tracking plan.

We call those functions Avo functions.

You invoke the Avo functions, provide tracking parameters and

  • Avo verifies that your tracking is correct according to the defined tracking plan. It verifies that all required properties are provided, correctly spelled and their value fit what's expected by your tracking plan. Preventing the time consuming back-and-forth required to align on what to track and how, and to verify the tracking is correctly implemented.
  • Avo also tracks your functions usage in development and reports if a call of particular function was seen or not, both in your CI with the Avo CLI and in your Tracking Plan on avo.app.
  • Eventually Avo sends the data to the destinations it manages and calls the callbacks (called custom destinations) you provided when initializing.

It's useful to get the overview of the tracking implementation when working on new tracking. You can also get more insights into dev implementation and actual production state of your tracking with the Inspector implementation status

Handling tracking plan changes

When tracking plan changes, you generate the file again and swap the old file with the new one. Avo manages the merge conflicts inside the file. Then, if the existing events changed, you'll have to update your Avo functions calls according to the new tracking plan to pass the runtime checks in the Avo file. You'll also get access to the new events defined in your tracking plan after the previous generated code update.

Supported Programming Languages

Avo supports multiple languages and platforms:

Each platform/language combination supports a set of event destinations. We often add support for new destinations, and Avo also allows you to send to custom destinations. For an overview or implementation details please see the docs for Analytics Tools.

Upcoming Programming Languages

We are currently working on adding support of the following languages:

  • Go
  • Dart (Flutter)
  • C# (Xamarin)
  • C++
  • Clojure
  • Scala
  • Kotlin (Server)

Even if your favorite language isn’t currently listed it might be arriving soon. In any case, please contact us to inquire or let us know what you’re looking for.