Um die Lizensierung in die Add-ons zu integrieren, stellt SloopTools Bibliotheken in verschiedenen Sprachen (C++, C# und CONTROL-WinCC OA) zur Integration zur Verfügung. Details zu den Bibliotken sind unter Code Snippets sowie Bewährte Methoden zu finden.
Die CtrlExtension, für die Nutzung der Lizensierung in CONTROL-WinCC OA, ist im Installation Layer, der im Store verfügbar ist, enthalten.
Die C++ oder C# Bibliotheken müssen über info@slooptools.com angefordert werden.
Hinweis für C++: Um erfolgreich compilieren zu können müssen zusätzlich zu der SLTLicence Bibliothek folgende Bibliotheken eingebunden werden:
Falls "YOUR_ITEM_NUMBER_OR_PRODUCT_CODE" gefordert wird kann diese wie folgt ermittelt werden:
Die Item Number lässt sich im Backend bei dem jeweiligen Add-on im General Tab finden. Der Product Code kann aus der Item Number gebildet wird. Hierfür müssen die führenden Nullen und der Bindestrich weglassen werden. (Bsp.: 00024-00041 -> 2400041)
Falls "YOUR_ADDON_INTERNAL_VERSION" gefordert wird kann diese wie folgt ermittelt werden:
Wenn im Backend eine neue Version angelegt wird kann man zwischen Major, Minor und Patch auswählen. Je nach Auswahl ergibt sich daraus die nächste Internal version. Diese wird dann im Backend unter Versions -> "probably next internal version" oder nach einem erfolgreichen Speichern in der linken Tabelle angezeigt. Diese Version muss mit der im Code hardcodierten Version übereinstimmen. Das bedeutet auch, jedesmal wenn eine neue Version erstellst wird muss im Code diese Version geupdatet werden. In CONTROL erfolgt dies automatisch.
Wenn ein Add-on ohne Extras (Features) verkauft werden soll muss nur die Lizenz überprüft "sltCheckLicense" werden.
Es ist auch möglich eine Lizenz zu belegen. Damit kann z.B. bei Platzlizenzen verhindert werden das ein anderes Projekt gleichzeitig auf die Lizenz zugreift.
Falls Extras (Features) dazugekauft werden können, ist es zusätzlich notwenig die bei der Lizenz mitgelieferte Featuremap"sltGetFeatureMap" zu überprüfen.
Für diese Art von Lizenzen gelten die selben Vorgehensweise wie bei One-time Payment Lizenzen. Jedoch wird beim Lizenz überprüfen das Fälligkeitsdatum mit einbezogen. Sobald das aktuelle Datum nicht in die Fälligkeit der Lizenz fällt, ist die Lizenz ungültig .
Mit der Methode/Funtkion "sltGetExpirationTime" können die Sekunden bis zur Lizenzungültigkeit abgefragt werden.
Features können wir bei One-Time Payment über die Featuremap überprüft werden.
Wenn das Add-on als Pay-per-use verkauft werden soll, ist es wichtig den, in der Lizenz integrierten Einheitenzähler, bei bestimmten Aktionen zu reduzieren.
Wenn es sich um zB. Klicks, Nutzungen oder ähnliches handel sollte "sltDecreaseUnitCounter" verwendet werden. Wenn die gekaufte Nutzungseinheit aufgebraucht ist, wird die gesamte Lizenz ungültig. Diese musss erneut gekauft oder erneuert werden.
Wenn es sich um zB. registrierte UIs, Verbindungen zur Hardware oder ähnliches handelt, sollte "sltDecreaseUnitCounterChecked" verwendet werden. Die Nutzungseinheit kann dadurch nicht unter 1 fallen und die Lizenz bleibt daher gültig.
Mit "sltGetUnitCounter" kann überprüft werden ob noch weitere Einheit verfügbar sind.
Ansonsten gelten die grundlegenden Vorgehensweisen der One-time Payment Lizenz.