Module: Sketchup::Licensing

Overview

The Sketchup::Licensing module contains methods for extensions purchased from Extension Warehouse to check their licensing status.

It is advised to place these calls inside encrypted Ruby (.rbe) files. This API is also exposed via the SketchUp C API. Extensions that already use native code should prefer using the native API, which should be more secure than their Ruby API counterparts.

For more details, see Licensing Example

Version:

  • SketchUp 2015

Defined Under Namespace

Classes: ExtensionLicense

Constants for extension license state # collapse

Sketchup::Licensing::LICENSED
Sketchup::Licensing::EXPIRED
Sketchup::Licensing::TRIAL
Sketchup::Licensing::TRIAL_EXPIRED
Sketchup::Licensing::NOT_LICENSED

Class Method Summary # collapse

Class Method Details

.get_extension_license(extension_id) ⇒ Sketchup::Licensing::ExtensionLicense

Gets a license for a given extension.

Starting in SketchUp 2025.0, this method automatically tries to fetch a license from Extension Warehouse if the extension doesn't have a license on the current device. This only works if the user is signed in. In earlier SketchUp versions, the user has to go to Extension Manager, expand the extension in question and press Update License if the license is missing. (For performance reasons this automatic fetching is skipped during SU startup. Make sure to do a license check when the user interacts with the extension).

Examples:

ext_id = "4e215280-dd23-40c4-babb-b8a8dd29d5ee"
ext_lic = Sketchup::Licensing.get_extension_license(ext_id)
if ext_lic.licensed?
   puts "Extension is licensed."
end

Parameters:

  • extension_id (String)

    The Extension Warehouse UUID for the desired extension.

Returns:

  • (Sketchup::Licensing::ExtensionLicense)

    An object representing licensing state for the extension. Do not store this object; retrieve it again when needed since licensing state may have changed.

Version:

  • SketchUp 2015