Verze XE8 jde ještě dál a přináší vývojářům možnost zvýšit "User Experience" svých aplikací. Najít pro "User Experience" přijatelný český překlad není vůbec jednoduché. Obecně používaný "uživatelský prožitek" působí přinejmenším zvláštně, byť mnohým z nás již nějaký software hluboký uživatelský prožitek dozajista přinesl.
Nicméně poučit se z toho, jakým způsobem uživatelé s naší aplikací pracují, může být pro její další rozvoj velmi užitečné, a to zvlášť u aplikací, kde nejsme s uživateli v přímém kontaktu. Technologie AppAnalytics tak může být zajímavým zdrojem provozních informací o mobilních aplikacích umístěných na aplikačních tržištích, nebo u rozsáhlejších stolních aplikací.
Jaké informace lze získat
AppAnalytics (pokud jsou pro danou aplikaci aktivovány) sledují řadu metrik zcela automatizovaně. Jedná se především o počet uživatelů, počet spuštění aplikace, pohyb uživatele rozhraním (odkud a v jakém sledu jsou otevírány formuláře nebo používány jednotlivé ovládací prvky), dále například selhání aplikace, či na jakém operačním systému uživatel aplikaci provozuje.Druhým zdrojem informací jsou uživatelské metriky. AppAnalytics umožňují ošetření libovolné události a zachycení až čtyřech atributů. Lze tak zjistit a následně analyzovat mnoho zajímavých informací o tom, jak je aplikace skutečně používána a jaké jsou preference uživatelů.
Integrace AppAnalytics do aplikace
Používání AppAnalytics je velmi jednoduchou záležitostí. Všechny potřebné funkce v sobě zapouzdřuje jediná komponenta "TAppAnalytics", dostupná jak ve FireMonkey tak ve VCL. Pokud mají být sledovány uživatelské události, je vhodné komponentu umístit do datového modulu, aby byla přístupná ze všech formulářů, v kterých hodláme sběr metrik použít.Aby bylo možné AppAnalytics zprovoznit, je třeba přiřadit unikátní identifikátor aplikace "ApplicationID". Protože jsou AppAnalytics cloudovou službou, je pro jeho získání nutné aplikaci nejprve zaregistrovat na serveru. Registrace se provádí prostřednictvím webu, a to konkrétně na adrese https://appanalytics.embarcadero.com/:
Pro přístup je třeba použít přihlašovací údaje účtu EDN, ke kterému bylo registrováno vývojové prostředí. Po přihlášení a vyplnění základních údajů je vygenerován potřebný identifikátor. Ten pak v inspektorovi objektů nebo v kódu přiřadíme (včetně složených závorek) komponentě "TAppAnalytics".
Volba "Guest User" umožňuje poskytnout přístup do portálu jednomu dalšímu uživateli. Dále je možné nastavit IP adresy, které nebudou do výstupů zahrnovány (typicky tedy počítače vývojářů).
Nyní je třeba nastavit, které události mají být za běhu aplikace sledovány. K tomu slouží AppAnylytics Options. Zde se mírně liší implementace v knihovně VCL a FireMonkey:
Příklady Delphi
// Nastavení (VCL)
procedure TCentral.FormCreate(Sender: TObject); begin AppAnalytics.CacheSize := 800; AppAnalytics.UpdateInterval := 1000; AppAnalytics.Options := [aoTrackStartup, aoTrackExceptions]; AppAnalytics.Active := True; end;
I když ve VCL nemají AppAnalytics Option pro uživatelské události, můžeme je jednoduše sledovat zavoláním metody "TrackEvent".
// Odeslání uživatelských metrik (VCL) procedure TCentral.Osoby1Click(Sender: TObject); begin AppAnalytics.TrackEvent('Otevření okna', 'Menu', 'Osoba', 1); btnOsoby.Click; end;
Metoda "TrackEvent" má čtyři vstupní parametry, které lze naplnit libovolnými hodnotami. První tři (ACategory, AAction a ALabel) jsou typu string. Poslední parametr (AValue) má datový typ Double.
Příklady C++
// Nastavení (VCL)
void __fastcall TForm1::FormCreate(TObject *Sender);
{
AppAnalytics1->CacheSize = 500;
AppAnalytics1->UpdateInterval = 800;
TAnalyticsOptions aao;
aao << aoTrackStartup;
aao << aoTrackExceptions;
AppAnalytics1->Options = aao;
AppAnalytics1->Active = True;
}
// Odeslání uživatelských metrik (VCL) void __fastcall TForm1::Osoby1Click(TObject *Sender); {
AppAnalytics->TrackEvent("Otevření okna", "Menu", "Osoba", 1); btnOsoby->Click;
}
Ochrana soukromí
Při prvním spuštění aplikace je každý uživatel automaticky informován o tom, že jsou anonymně sbírány a odesílány informace související s jejím během. Lokalizaci anglického textu lze provést přímo v inspektorovi objektů, nebo za běhu v kódu aplikace.Před zobrazením dialogu je generována událost "OnPrivacyMessage". Tu můžeme případně ošetřit vlastním kódem a v případě, že si uživatel nebude přát informace o provozu aplikace poskytovat, sledování vypnout.
Výstupy
Jednotlivé monitorované události se ukládají do paměti a po určitém časovém intervalu se odesílají do cloudu. Oba parametry, tedy "CacheSize" i "UpdateInterval" jsou nastavitelné. Nasbíraná data jsou dostupná na již zmiňovaných webových stránkách https://appanalytics.embarcadero.com/. Pro všechny dostupné sestavy je k dispozici nastavení období, pro které má být sestava vygenerována:Graf zachycující přechody mezi jednotlivými formuláři aplikace může být u rozsáhlejších aplikací poněkud nepřehledný:
Tabulkové výstupy si lze jednoduše stáhnout ve formátu .csv pro další zpracování:
V záložce "Advanced Analysis" je k dispozici formulář pro konfiguraci a spouštění parametrizovatelných sestav:
Žádné komentáře:
Okomentovat