SoftMeter v1.1 released - The free application analytics tool

SoftMeter v1.1 was released, for Windows, MacOS, IOS.

Changes in this release:

  1. Windows edition: the DLL calling conversion changed from __cdecl to __stdcall
    The ready samples (c++, Delphi/Pascal, Inno setup, Installaware) were changed to reflect this change.
    In your source code, the __cdecl specifier should be replaced by the __stdcall specifier.
  2. A new function setOptions(), was added.
    Call setOptions() to pass multiple optional developer parameters to SoftMeter.
    The parameters are passed as a string containing key=value pairs, separated with a new line character "\n".
  3. The functions setProxy() and setSubscription() were removed as they were replaced by setOptions().

SoftMeter API

This is the brief abstract of the API. By using this simple API you can add application usage analytics to your software program.

void disableLogfile(void);
void enableLogfile(const char *appName, const char *macBundleId);
char* getLogFilename(void);
bool setOptions(const char* developerOptions);
bool start(char* appName, char* appVersion, char* appLicense, char* appEdition, char* propertyID, bool userGaveConsent);
void stop(void);
bool sendPageview(char* pagePath, char* pageTitle);
bool sendScreenview(char* screenName);
bool sendEvent(char* eventAction, char* eventLabel, int eventValue);
bool sendException(char* exceptionDescription, bool isFatal);

See the full, updated SoftMeter API, listing the functions (in their C prototypes) and their usage instructions.

Backward compatibility

In most cases this release is not backwards-compatible with previous releases:

  • Under Windows, the new version is not backwards-compatible because of the change in the DLL calling convention.
    A simple modification of your source code is needed (replace the __cdecl specifier with __stdcall).
  • Under Windows, if you were calling the xxxx_stdcall() set of functions, then, the new version remains backwards-compatible.
  • Under Windows, MacOS, IOS, if you were calling setProxy() or setSubscription() then, this release is not backwards-compatible.
    You will need to modify your code to pass these parameters via the setOptions() function.
    See the setOptions() examples in the C prototype of the SoftMeter API on GitHub.

Read more in the complete change log.

Add new comment