<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Chrome Developer Tools &#8211; Medio Blog</title>
	<atom:link href="https://blog.medio.cz/stitky/chrome-developer-tools/feed" rel="self" type="application/rss+xml" />
	<link>https://blog.medio.cz</link>
	<description></description>
	<lastBuildDate>Tue, 02 Feb 2016 11:38:24 +0000</lastBuildDate>
	<language>cs</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.1</generator>
	<item>
		<title>Vzdálené ladění měření na mobilním webu</title>
		<link>https://blog.medio.cz/vzdalene-ladeni-mereni-na-mobilnim-webu</link>
					<comments>https://blog.medio.cz/vzdalene-ladeni-mereni-na-mobilnim-webu#comments</comments>
		
		<dc:creator><![CDATA[André Heller]]></dc:creator>
		<pubDate>Tue, 02 Feb 2016 10:00:49 +0000</pubDate>
				<category><![CDATA[Analytika]]></category>
		<category><![CDATA[Chrome]]></category>
		<category><![CDATA[Chrome Developer Tools]]></category>
		<category><![CDATA[Debugging]]></category>
		<category><![CDATA[Implementace]]></category>
		<category><![CDATA[Nástroje]]></category>
		<category><![CDATA[Testování]]></category>
		<guid isPermaLink="false">https://blog.medio.cz/?p=3895</guid>

					<description><![CDATA[Většina webových analytiků se mimo hezké datové analýzy potýká také s implementací nejrůznějších měřicích nástrojů. Obvykle se setkávám s tím, že implementace jako taková se kontroluje pouze na desktopové verzi webu. Na tu mobilní, která už je dnes poměrně důležitá, se tak nějak kašle.  Jak měření na mobilních zařízeních kontrolovat? Pojďte se na to podívat.]]></description>
										<content:encoded><![CDATA[<p>Většina webových analytiků se mimo hezké datové analýzy potýká také s implementací nejrůznějších měřicích nástrojů. Obvykle se setkávám s tím, že implementace jako taková se kontroluje pouze na desktopové verzi webu. Na tu mobilní, která už je dnes poměrně důležitá, se tak nějak kašle, <i>&#8222;protože to přece musí fungovat&#8220;</i>. Obvykle to tak je, ale ne vždy. Když se někoho zeptám, proč to nedělá, odpověď často zní: <em>&#8222;A jak to chceš v těch mobilních aplikacích kontrolovat?&#8220;</em> Pojďte se na to tedy podívat.</p>
<p><img fetchpriority="high" decoding="async" src="https://blog.medio.cz/wp-content/uploads/remote-debug-banner.png" alt="remote-debug-banner" width="640" height="316" class="aligncenter size-full wp-image-3910" srcset="https://blog.medio.cz/wp-content/uploads/remote-debug-banner.png 640w, https://blog.medio.cz/wp-content/uploads/remote-debug-banner-300x148.png 300w" sizes="(max-width: 640px) 100vw, 640px" /></p>
<p>Jedním z řešení je odchytávání HTTP komunikace, což se hodí zejména u kontroly nativních aplikací. Každopádně tohle řešení je poměrně pracné a vzhledem k podstatě webu i dost zbytečné. Google Chrome má totiž zabudovanou podporu na vzdálené ladění (debugging). Potřebujete v zásadě jen tři kroky:</p>
<ol>
<li>Nastavit telefon</li>
<li>Připojit k počítači a Chromu</li>
<li>Ladit!</li>
</ol>
<div class="bulb">Hned na začátku ještě musím upozornit, že tento postup funguje jen na Androidu 4.0 a vyšších verzích a v prohlížeči Google Chrome. Na konci článku pak odkazuji i na alternativní postupy pro iOS a Safari nebo Firefox.</div>
<h2>Nastavení telefonu</h2>
<p>V nastavení Androidu potřebujete udělat jedinou věc. Tou je zapnutí funkce <strong>Ladění USB (USB debugging)</strong>. Tuhle položku najdete <strong>Nastavení</strong> v sekci <strong>Pro vývojáře (Developer options)</strong>. </p>
<p>Pokud tuto položku vůbec nevidíte, máte ji pravděpodobně skrytou. U novějších androidů to tak často bývá. Musíte v nastavení najít něco jako O telefonu/O programu a tam najít číslo buildu, na které musíte 7x poklepat. V každém telefonu a verzi Androidu je to vždy trochu jinak schované, takže případně <a href="http://lmgtfy.com/?q=zapnut%C3%AD+nastaven%C3%AD+pro+v%C3%BDvoj%C3%A1%C5%99e+android" target="_blank">googlete</a>. </p>
<p>Jakmile se konečně dostanete do nastavení <strong>Pro vývojáře</strong>, tak jen zaškrtněte <strong>checkbox USB debugging</strong> a potvrďte vyskakovací okno. Pokud nevíte, co děláte, tak si s ostatním nastavením raději nehrajte.</p>
<p><img decoding="async" src="https://blog.medio.cz/wp-content/uploads/2.png" alt="2" width="434" height="382" class="aligncenter size-full wp-image-3913" srcset="https://blog.medio.cz/wp-content/uploads/2.png 434w, https://blog.medio.cz/wp-content/uploads/2-300x264.png 300w" sizes="(max-width: 434px) 100vw, 434px" /></p>
<div class="bulb"><strong>EasterEgg pro fajnšmekry:</strong> Tam, kde byla verze buildu je i verze vašeho systému Android. Na tu třikrát rychle a zřetelně poklepejte a sledujte. Každá verze v sobě má logicky něco jiného. Někdy více, jindy méně interaktivní, tak si s tím zkuste trochu pohrát. Napovím jen, že to souvisí s názvem Androidích modelových řad (JellyBean, Kitkat, atd.).</div>
<h2>Připojení k PC a Chromu</h2>
<p>Připojte telefon k počítači klasickým nabíjecím kabelem jako obvykle. Otevřete Google Chrome a do adresního řádku napište <strong>chrome://inspect</strong>. Pokud ještě nemáte, tak <strong>zaškrtněte Discover USB devices</strong>. Následně by vám na telefonu měl vyskočit alert, který potvrďte. Kdyby náhodou alert nevyskočil, zkuste telefon odpojit a připojit znovu. Případně opětovně vypnout a zapnout ladění. Občas se proces chytí ve špatném pořadí a není to poznat. Maximálně na podruhé se mi to ale povedlo vždy. </p>
<p>Po úspěšném připojení se vám v počítači zobrazí seznam otevřených záložek z prohlížeče na telefonu. Mimo cool tlačítek typu focus, close a reload, je tam hlavně to, co nás zajímá nejvíc -> <strong>inspect</strong>. Klikněte na to a otevřou se vám standardní vývojářské nástroje Chromu napojené na váš mobilní prohlížeč.</p>
<p><img decoding="async" src="https://blog.medio.cz/wp-content/uploads/chrome-inspect-devices.png" alt="chrome-inspect-devices" width="759" height="424" class="aligncenter size-full wp-image-3915" srcset="https://blog.medio.cz/wp-content/uploads/chrome-inspect-devices.png 759w, https://blog.medio.cz/wp-content/uploads/chrome-inspect-devices-300x168.png 300w" sizes="(max-width: 759px) 100vw, 759px" /></p>
<h2>Závěrem</h2>
<p>Jistě se najdou tací, které napadne otázka: <em>&#8222;A k čemu to vlastně je? Proč prostě neemulovat zařízení v dektopovém Chromu?&#8220;</em> nebo <em>&#8222;Proč to vůbec řešit, když mám responzivní web?&#8220;</em> Odpověď je prostá: <em>&#8222;Protože můžete.&#8220;</em> To, že máte responzivní web, neznamená, že se na mobilu třeba nemůžou špatně ukládat cookies. Což je něco, co ani emulací nelze úplně zjistit. Je to prostě další možnost jak být zase o něco přesnější.</p>
<p><strong>Související články a odkazy:</strong></p>
<ul>
<li><a href="https://developers.google.com/web/tools/chrome-devtools/debug/remote-debugging/remote-debugging?hl=en" target="_blank">Google Developers: Remote debugging</a></li>
<li><a href="https://developer.mozilla.org/en/docs/Tools/Remote_Debugging" target="_blank">MDN: Remote debugging Firefox</a></li>
<li><a href="http://moduscreate.com/enable-remote-web-inspector-in-ios-6/" target="_blank">Modus Create: Remote debugging iOS a Safari</a></li>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.medio.cz/vzdalene-ladeni-mereni-na-mobilnim-webu/feed</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>Jak zjistit velikost odesílaných dat do Google Analytics</title>
		<link>https://blog.medio.cz/jak-zjistit-velikost-odesilanych-dat-do-google-analytics</link>
					<comments>https://blog.medio.cz/jak-zjistit-velikost-odesilanych-dat-do-google-analytics#comments</comments>
		
		<dc:creator><![CDATA[André Heller]]></dc:creator>
		<pubDate>Fri, 13 Nov 2015 17:11:54 +0000</pubDate>
				<category><![CDATA[Analytika]]></category>
		<category><![CDATA[Chrome Developer Tools]]></category>
		<category><![CDATA[Google Analytics]]></category>
		<category><![CDATA[HTTP Header]]></category>
		<category><![CDATA[Universal Analytics]]></category>
		<guid isPermaLink="false">https://blog.medio.cz/?p=3827</guid>

					<description><![CDATA[Limit pro množství odesílaných dat do Google Analytics dělá uživatelům potíže. Proč? Jeho překročením totiž neodešlete data žádná. Jak ale zjistit limit a kontrolovat množství odesílaných dat? Vysvětlím vám, jak a z čeho se limit počítá a následně ukážu varianty k jeho ověření.]]></description>
										<content:encoded><![CDATA[<p>Limit pro množství odesílaných dat do Google Analytics dělá uživatelům potíže. Proč? Jeho překročením totiž neodešlete data žádná. Jak ale zjistit limit a kontrolovat množství odesílaných dat? Vysvětlím vám, jak a z čeho se limit počítá a následně ukážu varianty k jeho ověření. Není to ovšem úplně triviální metoda a vyžaduje trochu uživatelské zručnosti.</p>
<h2><b>O jaký limit se jedná?</b></h2>
<p>Jde o limit velikosti odesílaných dat, tzv. <em>hitu</em>. Pokud máte na stránce základní kód Google Analytics nebo Universal Analytics, tak sám od sebe na každé stránce odesílá tzv. <em>pageview</em>. Ta obsahuje nejrůznější informace o stránce: její doménu, cestu, název. Současně se posílá celá řada informací dalších, jako rozlišení a barvy monitoru, používaný jazyk, druh prohlížeče a mnoho dalšího.</p>
<p>Dosud se však jednalo o poměrně malé množství dat, které do příchodu <a href="https://support.google.com/analytics/answer/6014841?hl=en" target="_blank">Enhanced Ecommerce</a>, nikoho příliš netrápilo. S nástupem Enhanced Ecommerce, v jejich plné implementaci, však přibylo do reportů elektronického obchodu mnoho nových dat, která je potřeba posbírat a odněkud poslat. A tím místem je standardně právě počítač vašeho uživatele.</p>
<p>Aby servery Googlu unesly velký nápor dat, přidal Google do své JavaScriptové knihovny (analytics.js) limit. Díky tomu se po překročení datové velikosti už neodešlou data žádná. Hraniční limit je <strong>8192 bytů</strong>. Co to vlastně znamená, a jak se daná velikost dat počítá, si řekneme níže.</p>
<h2><b>Jak se skládají data?</b></h2>
<p>Zaběhnu teď trochu do hloubky webů. Jakmile si uživatel načte vaši stránku, tak se začnou z vašeho serveru stahovat data (HTML stránka). Prohlížeč si je přečte a zjistí, že má stáhnout nějaký JavaScriptový soubor <em>analytics.js</em> (hlavní řídící knihovna Universal Analytics). Stáhne ho a současně s tím, si přímo v HTML kódu té stažené stránky, přečetl, že má spustit nějaký jiný JavaScript. To je ten kus kódu, který vás vždy GA nutí vložit do hlavičky vašeho webu. Tenhle JavaScript nějakým způsobem reaguje s řídící knihovnou, co se stáhla. Ve výsledku posbírá všechna možná data a na pozadí udělá tzv. <a href="https://en.wikipedia.org/wiki/Ajax_(programming)" target="_blank">AJAXový request</a>, kterým všechna posbíraná data odešle na server Google Analytics.</p>
<p>Request je ve své výsledné podobě jen obyčejná URL adresa a vypadá nějak takto:</p><pre class="crayon-plain-tag">http://www.google-analytics.com/collect?v=1&amp;amp;t=pageview&amp;amp;dl=http%3A%2F%2Fwww.medio.cz%2F&amp;amp;dp=%2F&amp;amp;ul=en-us&amp;amp;de=UTF-8&amp;amp;dt=Medio%20Interactive&amp;amp;sd=24-bit&amp;amp;sr=1920x1080&amp;amp;vp=1903x955&amp;amp;je=1&amp;amp;fl=19.0%20r0&amp;amp;_utma=162604515.73130048.1442481266.1443001465.1446205687.7&amp;amp;_utmz=162604515.1446205687.7.2.utmcsr%3Dfacebook.com%7Cutmccn%3D(referral)%7Cutmcmd%3Dreferral%7Cutmcct%3D%2F&amp;amp;_utmht=1447063452786&amp;amp;_u=SCCCgAAj~&amp;amp;jid=1801047489&amp;amp;cid=73130048.1442481266&amp;amp;tid=UA-35958405-1&amp;gt;m=GTM-T4DR3S&amp;amp;cd6=86b9b882-f8ec-b02a-7287-5079c980ab23&amp;amp;cd7=0&amp;amp;z=802881888</pre><p>Trochu to rozdělím. První část je samotná adresa serveru, kam se ta data posílají:</p><pre class="crayon-plain-tag">http://www.google-analytics.com/collect</pre><p>Pak následuje otazníček a za ním už jen sada parametrů a jejich hodnot:</p><pre class="crayon-plain-tag">?v=1&amp;amp;t=pageview&amp;amp;_s=1&amp;amp;dl=http%3A%2F%2Fwww.medio.cz%2F&amp;amp;dp=%2F&amp;amp;ul=en-us&amp;amp;...</pre><p>URL je pořád poměrně nečitelná, zkusím to rozsekat na jednotlivé parametry:</p><pre class="crayon-plain-tag">?v=1
&amp;amp;t=pageview
&amp;amp;dl=http%3A%2F%2Fwww.medio.cz%2F
&amp;amp;dp=%2F
&amp;amp;ul=en-us
&amp;amp;...</pre><p>Nyní je konečně trochu vidět, co se tam posílá, ale pořád to není ono. Je to tím, že URL je <em>encodovaná</em>. To je proces, kdy se z hezké normální URL, stanou ty divné paskvily plné procent s nesmyslnými písmeny a čísly. (%2F = /, %3A = :) Pokud URL dekóduji, vypadá nějak takto:</p><pre class="crayon-plain-tag">?v=1
&amp;amp;t=pageview
&amp;amp;dl=http://www.medio.cz/
&amp;amp;dp=/
&amp;amp;ul=en-us
&amp;amp;...</pre><p>Teď už je URL bez problému čitelná a konečně vidíte, co se vlastně posílá. Parametr <strong>t</strong> (type) určuje, že posíláme typ hitu pageview. Parametr <strong>dl</strong> (document location) označuje celou URL stránky, parameter <strong>dp</strong> (document path) upřesuje konkrétní cestu stránky (to za lomítkem dál, ale včetně lomítka!), <strong>ul</strong> (user language) označuje nastavený jazyk mého prohlížeče atd.</p>
<p>Tím jsme si ukázali, kde se berou data, a jak se odesílají na server. Nezmínil jsem ale to nejdůležitější &#8211; velikost. Zpravidla platí jednoduché pravidlo &#8211; <strong>1 znak = 1 byte</strong>. Posíláte-li si na vašem webu vlastní dimenze, imprese Enhanced Ecommerce, informace o detailu produktu, sečtěte si délku všech jejich znaků, názvů jejich parametrů a rovnítek (dl, t, dp, ul, &#8230;) a de facto to máte.</p>
<p><strong>Pozor!</strong> Ten, kdo pozorně četl, si uvědomí ještě jednu věc. Takhle se to úplně počítat nedá. Vzpomeňte na enkodování URL. Co to znamená v praxi? Každý speciální znak (třeba lomítko &#8222;/&#8220;) najednou není jeden znak, ale rovnou tři znaky (%2F) a tedy i 3 byty. A to pořád není všechno. Chcete mít v GA hezká data s diakritikou? Takové &#8222;ě&#8220; po enkodování vypadá takto: %C4%9B. Tedy dokonce 6 bytů.</p>
<h2><b>Jak zjistit limit?</b></h2>
<p>Cesty jsou dvě. Každá z nich má to svoje.</p>
<ol>
<li>Odchytit odchozí HTTP requesty a spočítat jejich počet znaků.</li>
<li>Zastavit si GA ve chvíli odesílání a nechat si velikost vypsat.</li>
</ol>
<h3><u>Zjistit počet znaků</u></h3>
<p>Tuto metodu osobně nedoporučuji, ale pro některé technicky méně znalé, může být jednodušší. Musíte si odchytit odchozí request a zjistit, kolik má výsledná URL znaků. Request si můžete odchytit pomocí různých pluginů nebo programů, ale také přímo v prohlížeči. Každý prohlížeč má tzv. vývojářské nástroje a má je implementované malinko jinak. V Google Chrome, IE a Edge je to klávesa F12. Firefox potřebuje zvláštní rozšíření <a href="https://addons.mozilla.org/en-US/firefox/addon/firebug/" target="_blank">Firebug</a>. Pro jednoduchost použiji plugin do prohlížeče <a href="https://chrome.google.com/webstore/detail/live-http-headers/iaiioopjkcekapmldfgbebdclcnpgnlo?hl=en" target="_blank">Live HTTP Headers</a>. Ten je dostupný snad pro všechny prohlížeče a jeho ovládání je vcelku intuitivní.</p>
<p>Pomocí pluginu si načtete kompletní HTTP komunikaci vašeho webu a ve spleti různých URL adres najdete URL směřující na server <em>www.google-analytics.com/collect</em>.  Zde si zobrazíte její detail a zkopírujete její parametry. To následně vložíte do nějakého <a href="http://www.lettercount.com/" target="_blank">programu na počítání znaků</a>. No a to je vše, máte velikost vašeho hitu.</p>
<h3><u>Zjistit přímo bytovou velikost</u></h3>
<p>Druhý způsob je metoda, která vyžaduje trochu více úsilí při prvním použití, ale ve výsledku je mnohem rychlejší. Ukážu vám, jak to dělám v prohlížeči Google Chrome, v ostatních prohlížečích, by to mělo být velmi podobné.</p>
<p>Začnete tím, že si otevřete vaši stránku a vývojářské nástroje, kde si překliknete na záložku <em>sources</em>. V mém případě otevírám <em>www.medio.cz</em> a vývojářské nástroje v Chromu = klávesa F12 + překlik na záložky Sources/Zdroje. Dále v levém sloupci všech scriptů otevřete adresář <em>www.google-analytics.com</em> a klinete na soubor <em>analytics.js</em>. V prostředním sloupci by se vám měl zobrazit jeho obsah. Toho se nemusíte děsit. Klikněte v levém dolním rohu prostředního sloupce na ikonku složených závorek, aby kód &#8222;zkrásněl&#8220;.</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-3843 size-full" src="https://blog.medio.cz/wp-content/uploads/clanek_1.png" alt="clanek_1" width="1003" height="625" srcset="https://blog.medio.cz/wp-content/uploads/clanek_1.png 1003w, https://blog.medio.cz/wp-content/uploads/clanek_1-300x187.png 300w" sizes="auto, (max-width: 1003px) 100vw, 1003px" /></p>
<p>Pak klikněte kamkoliv do kódu a zmáčknete kombinaci kláves pro vyhledávání (Ctrl + F). Do vyhledávacího pole vepište <em>8192</em>. Kód by vám měl přeskočit a vypadat cca takto (trochu se lišit může).</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-3844" src="https://blog.medio.cz/wp-content/uploads/clanek_2.png" alt="clanek_2" width="1001" height="275" srcset="https://blog.medio.cz/wp-content/uploads/clanek_2.png 1001w, https://blog.medio.cz/wp-content/uploads/clanek_2-300x82.png 300w" sizes="auto, (max-width: 1001px) 100vw, 1001px" /></p>
<p>Najděte řádek, kde se porovnává číslo 8192 v nějaké podmínce (<strong>else if (8192 &gt;= b.length)</strong>) a pak ho označte kliknutím na číslo řádku. U mě je to momentálně řádek 215. Pozor na to, že ta podmínka může mít časem trochu jiný tvar, vzhledem k tomu, že se kód Google Analytics aktualizuje. Udělejte reload stránky. Pokud se stránka načetla bez jakékoliv změny, znamená to patrně, že velikost vašich dat nedosahuje ani prvního limitu 2036 bytů, který je nastavený jen z určitých technických důvodů a nemusí vás nijak trápit. Takže můžete být úplně v klidu a nic neřešit.</p>
<p>Pokud se stránka zasekla a vyskočila na vás zpráva typu <em>&#8222;Paused in debugger&#8220;</em>, znamená to, že velikost vašich dat překročila první limit a JavaScript došel až k bodu, kdy velikost porovnává s druhým limitem. V takovém případě se právě zastavili na tzv. breakpointu, který jste před chvíli vytvořili kliknutím na číslo toho řádku. Abyste zjistili velikost dat, přepněte se do záložky console, kam napište to, s čím se porovnává hodnota 8192. V mém případě <strong>b.length</strong> a dejte enter. Ihned vám to vrátí číslo, což je skutečná datová velikost odesílaných dat.</p>
<p><a href="https://blog.medio.cz/wp-content/uploads/clanek_3.png"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-3845" src="https://blog.medio.cz/wp-content/uploads/clanek_3.png" alt="clanek_3" width="1001" height="629" srcset="https://blog.medio.cz/wp-content/uploads/clanek_3.png 1001w, https://blog.medio.cz/wp-content/uploads/clanek_3-300x189.png 300w" sizes="auto, (max-width: 1001px) 100vw, 1001px" /></a></p>
<p>Pokud se nad tím zamyslíte a trochu více si v tom pohrajete, tak zjistíte, že tento postup opět nedělá nic jiného, než že počítá znaky ve výsledné URL. Pro mě osobně je ale pohodlnější hlavně z toho důvodu, že pokud se chci podívat na další stránku, tak ji prostě otevřu a breakpoint stále funguje, takže nemusím znovu odchytávat requesty, hledat, kopírovat, atd. Navíc obvykle funguje i napříč weby, takže pokud nechcete sledovat limity GA i u konkurence, nezapomeňte na konci ten breakpoint zase vypnout &#8211; opět kliknutím na číslo řádku.</p>
<p><strong>Znáte ještě nějaký další způsob? Podělte se s námi!</strong></p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.medio.cz/jak-zjistit-velikost-odesilanych-dat-do-google-analytics/feed</wfw:commentRss>
			<slash:comments>6</slash:comments>
		
		
			</item>
	</channel>
</rss>
