Gartner: V roce 2020 uživatelé utratí za chytrou elektroniku přes 50 miliard dolarů

21. 11. 2019
Doba čtení: 2 minuty

Sdílet

Autor: © djvstock - Fotolia.com
S rostoucím apetitem spotřebitelů čeká globální trh chytrých nositelných zařízení dvouciferný růst. V letošním roce se prodá nositelná elektronika za 41 miliard dolarů, v příštím roce by měl trh dosáhnout hodnoty 52 miliard dolarů.

Společnost Gartner předpovídá, že se v roce 2020 celosvětově prodá chytrá elektronika v hodnotě 52 miliard dolarů. To by představovalo meziroční nárůst o 27 %; pro letošní rok analytici odhadují, že se globální trh chytré elekroniky vyšplhá na 41 miliard.

Největší růst v příštím roce by podle společnosti měly zaznamenat segmenty chytrých hodinek (o 34 %) a chytrého oblečení (o 52 %). Podle Ranjita Atwala totiž uživatelé postupně nahrazují své chytré náramky právě chytrými hodinkami.

Apple a Samsung vévodí kategorii dražších chytrých hodinek, Xiaomi a Huawei zase opanovali nabídku cenově dostupnějších zařízení. Očekáváme, že průměrná cena chytrých hodinek mezi lety 2020 a 2021 klesne o 4,5 %,“ dodává Atwal.

Chytrá zápěstí, chytré uši

Druhou nejsilnější kategorií budou po chytrých hodinkách chytrá sluchátka; analytici odhadují, že se v roce 2020 prodá 86 milionů kusů hodinek a 70 milionů kusů sluchátek. V segmentu chytrých sluchátek dominují značky Apple, Samsung a Xiaomi.

Své zákazníky si ovšem najdou i specializované značky jako Bose či Nuheara, Microsoft a Starkey, které se zaměřují na výrobu chytrých zařízení kombinujících funkce zdravotních pomůcek, v tomto případě naslouchátek.

Menší a chytřejší senzory

Gartner uvádí, že velký vliv na vývoj trhu budou mít uživatelé, kteří s chytrou nositelnou elektronikou teprve začínají. Trh dále ovlivní i vylepšená přesnost senzorů, jejich menší velikost a lepší ochrana uživatelských dat.

Pokroky v miniaturizaci, které umožní vkládat senzory do téměř malých diskrétních nositelných zařízení, podle analytiků přesvědčí hlavně ty koncové uživatele, kteří se chytré nositelné elektronice až doposud vyhýbali.

Společnost v tomto kontextu předpovídá, že do roku 2023 se senzory zmenší natolik, že jedna desetina všech nositelných zařízení nebude na koncové uživatele působit rušivě.

Zdroj: Gartner

Tabulka – Prognóza vývoje trhu nositelné elektroniky podle kategorií (miliardy dolarů)

Kategorie

2018

2019

2020

2021

Chytré hodinky

12,41

17,05

22,80

27,39

Headsety s displeji

5,35

7,18

10,61

15,50

Bezdrátová sluchátka

6,78

7,89

8,71

9,93

Sportovní sluchátka

3,65

4,12

4,56

4,91

Náramky

3,41

3,19

3,12

3,06

Chytré oblečení

0,85

1,15

1,75

2,20

Celkem

32,45

40,59

51,55

62,99

Zdroj: Gartner

Čtěte dále

MMD si nachystalo nové monitory pro náročné spotřebitele, profesionály i hráče
MMD si nachystalo nové monitory pro náročné spotřebitele, profesionály i hráče
Asbis uzavírá partnerství se specialistou na reproduktory Origin Acoustics
Asbis uzavírá partnerství se specialistou na reproduktory Origin Acoustics
Výkonné monitory Philips pro práci a videokonference
Výkonné monitory Philips pro práci a videokonference
IDC: Cla necla, globální dodávky počítačů by letos měly vyrůst o 4 %
IDC: Cla necla, globální dodávky počítačů by letos měly vyrůst o 4 %
Obrazem: SWS pozvala Krakonoše na inovace a networking
Obrazem: SWS pozvala Krakonoše na inovace a networking
Náplně do tiskáren: alternativy hroutí výnosný byznys
Náplně do tiskáren: alternativy hroutí výnosný byznys
'; document.getElementById('preroll-iframe').onload = function () { setupIframe(); } prerollContainer = document.getElementsByClassName('preroll-container-iframe')[0]; } function setupIframe() { prerollDocument = document.getElementById('preroll-iframe').contentWindow.document; let el = prerollDocument.createElement('style'); prerollDocument.head.appendChild(el); el.innerText = "#adContainer>div:nth-of-type(1),#adContainer>div:nth-of-type(1) > iframe { width: 99% !important;height: 99% !important;max-width: 100%;}#videoContent,body{ width:100vw;height:100vh}body{ font-family:'Helvetica Neue',Arial,sans-serif}#videoContent{ overflow:hidden;background:#000}#adMuteBtn{ width:35px;height:35px;border:0;background:0 0;display:none;position:absolute;fill:rgba(230,230,230,1);bottom:20px;right:25px}"; videoContent = prerollDocument.getElementById('contentElement'); videoContent.style.display = 'none'; videoContent.volume = 1; videoContent.muted = false; const playPromise = videoContent.play(); if (playPromise !== undefined) { playPromise.then(function () { console.log('PREROLL sound allowed'); // setUpIMA(true); videoContent.volume = 1; videoContent.muted = false; setUpIMA(); }).catch(function () { console.log('PREROLL sound forbidden'); videoContent.volume = 0; videoContent.muted = true; setUpIMA(); }); } } function setupDimensions() { prerollWidth = Math.min(iinfoPrerollPosition.offsetWidth, 480); prerollHeight = Math.min(iinfoPrerollPosition.offsetHeight, 320); } function setUpIMA() { google.ima.settings.setDisableCustomPlaybackForIOS10Plus(true); google.ima.settings.setLocale('cs'); google.ima.settings.setNumRedirects(10); // Create the ad display container. createAdDisplayContainer(); // Create ads loader. adsLoader = new google.ima.AdsLoader(adDisplayContainer); // Listen and respond to ads loaded and error events. adsLoader.addEventListener( google.ima.AdsManagerLoadedEvent.Type.ADS_MANAGER_LOADED, onAdsManagerLoaded, false); adsLoader.addEventListener( google.ima.AdErrorEvent.Type.AD_ERROR, onAdError, false); // An event listener to tell the SDK that our content video // is completed so the SDK can play any post-roll ads. const contentEndedListener = function () { adsLoader.contentComplete(); }; videoContent.onended = contentEndedListener; // Request video ads. const adsRequest = new google.ima.AdsRequest(); adsRequest.adTagUrl = iinfoVastUrls[iinfoVastUrlIndex]; console.log('Preroll advert: ' + iinfoVastUrls[iinfoVastUrlIndex]); videoContent.muted = false; videoContent.volume = 1; // Specify the linear and nonlinear slot sizes. This helps the SDK to // select the correct creative if multiple are returned. // adsRequest.linearAdSlotWidth = prerollWidth; // adsRequest.linearAdSlotHeight = prerollHeight; adsRequest.nonLinearAdSlotWidth = 0; adsRequest.nonLinearAdSlotHeight = 0; adsLoader.requestAds(adsRequest); } function createAdDisplayContainer() { // We assume the adContainer is the DOM id of the element that will house // the ads. prerollDocument.getElementById('videoContent').style.display = 'none'; adDisplayContainer = new google.ima.AdDisplayContainer( prerollDocument.getElementById('adContainer'), videoContent); } function unmutePrerollAdvert() { adVolume = !adVolume; if (adVolume) { adsManager.setVolume(0.3); prerollDocument.getElementById('adMuteBtn').innerHTML = ''; } else { adsManager.setVolume(0); prerollDocument.getElementById('adMuteBtn').innerHTML = ''; } } function onAdsManagerLoaded(adsManagerLoadedEvent) { // Get the ads manager. const adsRenderingSettings = new google.ima.AdsRenderingSettings(); adsRenderingSettings.restoreCustomPlaybackStateOnAdBreakComplete = true; adsRenderingSettings.loadVideoTimeout = 12000; // videoContent should be set to the content video element. adsManager = adsManagerLoadedEvent.getAdsManager(videoContent, adsRenderingSettings); // Add listeners to the required events. adsManager.addEventListener(google.ima.AdErrorEvent.Type.AD_ERROR, onAdError); adsManager.addEventListener( google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED, onContentPauseRequested); adsManager.addEventListener( google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED, onContentResumeRequested); adsManager.addEventListener( google.ima.AdEvent.Type.ALL_ADS_COMPLETED, onAdEvent); // Listen to any additional events, if necessary. adsManager.addEventListener(google.ima.AdEvent.Type.LOADED, onAdEvent); adsManager.addEventListener(google.ima.AdEvent.Type.STARTED, onAdEvent); adsManager.addEventListener(google.ima.AdEvent.Type.COMPLETE, onAdEvent); playAds(); } function playAds() { // Initialize the container. Must be done through a user action on mobile // devices. videoContent.load(); adDisplayContainer.initialize(); // setupDimensions(); try { // Initialize the ads manager. Ad rules playlist will start at this time. adsManager.init(1920, 1080, google.ima.ViewMode.NORMAL); // Call play to start showing the ad. Single video and overlay ads will // start at this time; the call will be ignored for ad rules. adsManager.start(); // window.addEventListener('resize', function (event) { // if (adsManager) { // setupDimensions(); // adsManager.resize(prerollWidth, prerollHeight, google.ima.ViewMode.NORMAL); // } // }); } catch (adError) { // An error may be thrown if there was a problem with the VAST response. // videoContent.play(); } } function onAdEvent(adEvent) { const ad = adEvent.getAd(); console.log('Preroll event: ' + adEvent.type); switch (adEvent.type) { case google.ima.AdEvent.Type.LOADED: if (!ad.isLinear()) { videoContent.play(); } prerollDocument.getElementById('adContainer').style.width = '100%'; prerollDocument.getElementById('adContainer').style.maxWidth = '640px'; prerollDocument.getElementById('adContainer').style.height = '360px'; break; case google.ima.AdEvent.Type.STARTED: window.addEventListener('scroll', onActiveView); if (ad.isLinear()) { intervalTimer = setInterval( function () { // Example: const remainingTime = adsManager.getRemainingTime(); // adsManager.pause(); }, 300); // every 300ms } prerollDocument.getElementById('adMuteBtn').style.display = 'block'; break; case google.ima.AdEvent.Type.ALL_ADS_COMPLETED: if (ad.isLinear()) { clearInterval(intervalTimer); } if (prerollLastError === 303) { playYtVideo(); } break; case google.ima.AdEvent.Type.COMPLETE: if (ad.isLinear()) { clearInterval(intervalTimer); } playYtVideo(); break; } } function onAdError(adErrorEvent) { console.log(adErrorEvent.getError()); prerollLastError = adErrorEvent.getError().getErrorCode(); if (!loadNext()) { playYtVideo(); } } function loadNext() { iinfoVastUrlIndex++; if (iinfoVastUrlIndex < iinfoVastUrls.length) { iinfoPrerollPosition.remove(); playPrerollAd(); } else { return false; } adVolume = 1; return true; } function onContentPauseRequested() { videoContent.pause(); } function onContentResumeRequested() { videoContent.play(); } function onActiveView() { if (prerollContainer) { const containerOffset = prerollContainer.getBoundingClientRect(); const windowHeight = window.innerHeight; if (containerOffset.top < windowHeight/1 && containerOffset.bottom > 0.0) { if (prerollPaused) { adsManager.resume(); prerollPaused = false; } return true; } else { if (!prerollPaused) { adsManager.pause(); prerollPaused = true; } } } return false; } function playYtVideo() { iinfoPrerollPosition.remove(); youtubeIframe.style.display = 'block'; youtubeIframe.src += '&autoplay=1&mute=1'; } }
OSZAR »