bright, fresh software
Downloads  |  Buy

Using TurboActivate with Java

Before you can do anything you need to login to your LimeLM account (or sign up). Then download TurboActivate for Windows, Mac OS X, or Linux:

Adding licensing & online activation to your appTurboActivate.dat and Version GUID

After you've created a new product, go to the version page of the product you will be adding licensing to. You will need to do 2 things:

  1. Download the TurboActivate.dat file for the product version.
  2. Make a note of the Version GUID.

You'll be including the TurboActivate.dat file in a "TurboActivate" folder we'll talk about later and you'll use the Version GUID in your code as part of integrating TurboActivate within your app.

Example project

Included in TurboActivate.zip is a simple example project. The project was created with NetBeans, but you should be able to open it with other IDEs with minimal effort.

The folder API/Java/src/turboactivate contains all the classes you'll need to add licensing, online-activation, and trial functionality to your app.

JNA (Java Native Access)

The TurboActivate Java classes make use of JNA (Java Native Access). Simply put, JNA is a free library that allows easy access to native libraries (*.dll on Windows, *.dylib on Mac OS X, *.so on Unix) without writing anything but Java code. The best part is we've written native libraries for all major Operating Systems and the accompanying Java code to use it. All you need to do is add the files to your product.

TurboActivate binaries for Windows, Mac, and Linux

TurboActivate is compiled as a native binary. This means you will need to include the native TurboActivate binaries for every platform you want to support.

The Java TurboActivate package looks for the native platform libraries in the folder "TurboActivate" relative to your .jar file. For instance:

YourApp.jar
TurboActivate/
     TurboActivate.dat
     win-x86/
          TurboActivate.dll
     win-x64/
          TurboActivate.dll
     mac/
          libTurboActivate.dylib
     linux-i386/
          libTurboActivate.so
     linux-amd64/
          libTurboActivate.so
     ...

If you're creating platform specific installers then you don't need to include the versions of TurboActivate not applicable to that platform. In other words, if you're releasing your Java app to Windows and to Mac you will likely create a separate installer for each platform.

If you only include the platform specific TurboActivate binaries you will reduce the size of your initial distribution.

VersionGUID

You must set the TurboActivate.VersionGUID property before you use any TurboActivate functions. We recommend you set the VersionGUID property when your application first loads. You only need to set it once:

TurboActivate.VersionGUID = "Version GUID you copied earlier";

IsActivated()

The IsActivated() function simply checks if the user is activated and returns a boolean value.

UseTrial(), TrialDaysRemaining()

The UseTrial() function starts and/or revalidates the trial. The TrialDaysRemaining() function returns the number of days remaining in the trial. When TrialDaysRemaining() returns 0 you should disable your apps features and require them to activate. See the example project.

Note: Always call UseTrial() before calling TrialDaysRemaining().

if (TurboActivate.IsActivated())
{
    mnuActDeact.setText("Deactivate");
}
else
{
    mnuActDeact.setText("Activate...");

    TurboActivate.UseTrial();

    if (TurboActivate.TrialDaysRemaining() == 0)
    {
        //TODO: disable the features of your app
    }
}

Learn more about using trials & trial extensions to win over prospective customers.

TurboActivate wizardActivating your product

We recommend you use the TurboActivate.exe for entering product keys and activating your product. In the example project we show how to launch TurboActivate.exe and then check if the user is activated after it closes.

If you want to build your own interface then just use the CheckAndSavePKey(String pkey) and Activate() functions.

IsGenuine()

The IsGenuine() function connects to the LimeLM servers and reconfirms that your user's activation is valid. Using this function lets you retroactively revoke product keys. You do not need to (and should not) call IsGenuine() every time your application runs.

We recommend you call this function about every 90 days.

Also, if IsGenuine() throws an exception (particularly InternetException) it might be a result of the user blocking TurboActivate from checking with the servers. We recommend you handle this case by first warning the user that the genuine check failed, then disabling the features of your app after X failures.