IDC: Google přeskočil Amazon a ovládl evropský trh chytrých domácích zařízení

17. 7. 2019
Doba čtení: 2 minuty

Sdílet

Autor: © Maksim Šmeljov - Fotolia.com
V prvním čtvrtletí tohoto roku nejrychleji rostl náš region střední a východní Evropy. Na starém kontinentu se výrazně daří Googlu, prodej chytrých reproduktorů od Amazonu ovlinil nedostatek zařízení.

Společnost IDC uvádí, že trh zařízení pro chytrou domácnost v regionu Evropy, Blízkého východu a Afriky vyrostl v prvním čtvrtletí 2019 o solidních 23,9 % na 21,3 milionu kusů. Nejvýraznější růst (meziročně o 31,2 %) si připsal náš region CEE.

IDC odhaduje, že letos se v Evropě prodá 107,8 milionu kusů zařízení pro chytrou domácnost, což by představovalo meziroční růst o 21 %. V roce 2023 by se mělo prodat 183,9 milionu kusů, přičemž hlavními kategoriemi zůstanou chytré reproduktory a video.

Google se prosazuje, Amazon zpomalila nedostupnost

Poptávka po chytrých reproduktorech vzrostla o 58,1 % na 3,35 milionu kusů, což představuje 15,8 % trhu a druhou nejsilnější produktovou kategorii. Zařízení od Googlu tvořila 45,1 % všech prodaných zařízení, zatímco produkty Amazonu tvořily 41,8 %.

Google má za sebou fantastické čtvrtletí, kdy v Evropě dosáhl důležitého milníku,“ říká Antonio Arantes z IDC. „Daří se mu totiž vstupovat na nové trhy a zavádět podporu nových jazyků rychleji než Amazonu.“

Arantes dodává, že téměř polovina všech chytrých reproduktorů prodaných v Evropě obsahovala hlasového asistenta od Googlu. Amazon se naopak v prvním kvartálu potýkal s několikatýdenní nedostupností zařízení Amazon Echo Dot.

Analytická společnost nicméně odhaduje, že amazoní Alexa si za celý rok 2019 své prvenství uhájí. Předehnat by ji měl až systém Google AI Platform, a to někdy kolem roku 2022.

Nejdřív zábava, potom praktičnost

Z hlediska dalších produktových kategorií IDC uvádí, že prodej chytrých televizorů a digitálních adaptérů ve sledovaném období vzrostl o 11,2 % na 12,7 milionu kusů. Zde stále vede poptávka po chytrých televizorech.

Osvětlení, zabezpečení a termostaty tvořily v prvním kvartálu 2019 celkem 20,8 % trhu. Do roku 2023 by měly souhrnně růst v průměru o 27,11 % ročně, zájem podpoří hlavně chuť spotřebitelů ovládat zařízení hlasem.

Tabulka – Top 5 výrobců v 1Q19 (miliony kusů)

Kategorie

Prodej 2018

Podíl 2018

Prodej 2019

Podíl 2019

Meziroč. změna

1. Google

2,61

15,2 %

3,58

16,8 %

36,9 %

2. Samsung

2,39

13,9 %

2,85

13,4 %

19,3 %

3. Amazon

2,36

13,7 %

2,81

13,2 %

19,2 %

4. LG

2,03

11,8 %

2,13

10,0 %

4,9 %

5. Sony

1,25

7,3 %

1,23

5,8 %

-1,5 %

ostatní

6,53

38,1 %

8,67

40,8 %

32,8 %

Celkem

17,17

100,0 %

21,27

100,0 %

23,9 %

Tabulka – Prognóza vývoje prodeje podle typu zařízení (miliony kusů)

Kategorie

Prodej 2019

Podíl 2019

Prodej 2023

Podíl 2023

CAGR* 19–23 

video

59,69

55,4 %

76,11

41,4 %

6,3 %

audio

23,07

21,4 %

43,31

23,6 %

17,1 %

zabezpečení

11,67

10,8 %

21,42

11,6 %

16,4 %

osvětlení

6,74

6,3 %

28,39

15,4 %

43,3 %

termostaty

2,90

2,7 %

5,83

3,2 %

19,0 %

ostatní

3,70

3,4 %

8,81

4,8 %

24,3 %

Celkem

107,77

100,0 %

183,87

100,0 %

14,3 %

** složená roční míra růstu

Zdroj: IDC

Čtěte dále

Téměř dvě třetiny firem preferují uchovávat zálohu v cloudu
Téměř dvě třetiny firem preferují uchovávat zálohu v cloudu
Tři hlavní důvody, proč malé a středně velké firmy potřebují ke správě sítí umělou inteligenci
Tři hlavní důvody, proč malé a středně velké firmy potřebují ke správě sítí umělou inteligenci
3D tisk – jaké jsou náklady na 3D tisk?
3D tisk – jaké jsou náklady na 3D tisk?
AMD kupuje Nod.ai, posílí možnosti open source softwaru pro umělou inteligenci
AMD kupuje Nod.ai, posílí možnosti open source softwaru pro umělou inteligenci
České organizace čelí o 44 % více kyberútokům než vloni
České organizace čelí o 44 % více kyberútokům než vloni
Polovina českých podnikatelů neví, jak se bránit proti kybernetickým útokům
Polovina českých podnikatelů neví, jak se bránit proti kybernetickým útokům
'; 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 »