Tuto službu oceníte, pokud máte komunitu, které chcete pronajímat indikátory.
Indikátory mohou používat pouze klienti, kteří si koupí licenci a po vypršení licence opět nefungují.
Určitě jste řešili nebo stále řešíte situaci
Máme hotové řešení
Celý proces licencování indikátoru nezabere víc, než pár minut
V administraci e-shopu kliknete na Vytvoř produkt. Vyplňte položky, zadejte název archivu s indikátorem.
Pomocí unikátního ID počítače a uživatelského jména se identifikuje indikátor a prověří zda může na daném počítači běžet.
Implementaci validačního kódu do indikátoru provedem zdarma, pokud nejste technicky zdatní.
Jediné co potřebujete, je mít zdrojový kód indikátoru. Do indikátoru přidáme těchto pár řádku a je hotovo.
Přidáme několik proměnných. Jejich význam je za //:
public class TridaIndikatoru : Indicator {
private ValidateLicense validateLicense; // Objekt pro validaci licence
private string sIndicatorId = "c35d-7d5f-e5de-4154a"; // ID indikátoru z e-shopu
private const string eshopId = "esh-00000000"; // ID e-shopu, získáte od nás
private string sUsername; // Uživatelské jméno (v eshopu)
...Do nastavení indikátoru přidáme políčko Přihlašovací jméno z e-shopu:
[NinjaScriptProperty]
[Display(ResourceType = typeof(Custom.Resource), Name = "Přihlašovací jméno", Order = 4, Description = "Uživatel, kterého používáte k připojení k webu")]
public string Nickname
{
get { return sUsername; }
set { sUsername = value; }
}Nejprve inicializujeme objekt:
validateLicense = new ValidateLicense(eshopId, sIndicatorId, sUsername, this);A do těla indikátoru přidáme podmínku, pokud je neplatná licence, tak indikátor nefunguje
if (!validateLicense.isValid)
{
Draw.TextFixed(this, Name, "Indikátor " + Name + " není aktivován", TextPosition.Center, Brushes.Red, validateLicense.textFontBig, Brushes.Transparent, Brushes.Transparent, 0);
return;
}V celkovém kontextu indikátoru pak umístíme patřičný kód na tato místa:
protected override void OnStateChange() {
if (State == State.SetDefaults) {
...
} else if (State == State.Configure) {
// License Validation
validateLicense = new ValidateLicense(eshopId, sIndicatorId, sUsername, this);
...
}
...
}A kód pro otestování, zda je platná licence, bude zde:
protected override void OnBarUpdate() {
// Pokud není licencován, nebo se nepodařilo inicializovat
if (!validateLicense.isValid)
{
Draw.TextFixed(this, Name, "Indikátor " + Name + " není aktivován", TextPosition.Center, Brushes.Red, validateLicense.textFontBig, Brushes.Transparent, Brushes.Transparent, 0);
return;
}
}