IDC: Růst globálního trhu tabletů pokračuje, ve 3. kvartálu stoupl o čtvrtinu

30. 10. 2020
Doba čtení: 1 minuta

Sdílet

Autor: © Raisa Kanareva - Fotolia.com
Meziroční nárůst prodeje tabletů o 24,9 % ve třetím čtvrtletí analytici přisuzují pokračující pandemii a související poptávce po domácích zařízeních pro práci a zábavu.

Nová zpráva společnosti IDC hovoří o silném 24,9% nárůstu globálního prodeje tabletů ve třetím kvartálu 2020. Celkem se během tohoto období po světě prodalo 47,5 milionu těchto zařízení, zejména vlivem pokračující pandemie.

Analytici dodávají, že hlavním zdrojem poptávky byli spotřebitelé, kteří si pořizovali cenově dostupná zařízení pro práci nebo vzdělávání z domova, jakož i zábavu. Podniková poptávka oproti tomu vcelku nepřekvapivě poklesla.

Jedničkou na trhu zůstal Apple s bezmála 30% podílem a meziročním nárůstem prodeje o 17,4 %, který však bledne ve srovnání s růstem druhého Samsungu, jenž si polepšil o 89,2 % a výrazně se díky tomu přiblížil 20% tržnímu podílu.

Jediným vendorem z první pětice, který nerostl, byl třetí Amazon, jehož výsledky se snížily o nepatrné 1,2 %. Další výrobci v pořadí, Huawei a Lenovo, rostli dvojciferně, konkrétně o 32,9, resp. 62,4 %. Menší výrobci si kolektivně polepšili o mírná 3,1 %.

WT100_25

Tabulka – Výsledky globálního trhu tabletů (miliony kusů)

Výrobce

Prodej

3Q20

Podíl

3Q20

Prodej

3Q19

Podíl

3Q19

Meziroč.

změna

1. Apple

13,9

29,2 %

11,8

31,1 %

17,4 %

2. Samsung

9,4

19,8 %

5,0

13,0 %

89,2 %

3. Amazon

5,4

11,4 %

5,5

14,4 %

-1,2 %

4. Huawei

4,9

10,2 %

3,7

9,6 %

32,9 %

5. Lenovo

4,1

8,6 %

2,5

6,6 %

62,4 %

Ostatní

9,9

20,9 %

9,6

25,3 %

3,1 %

Celkem

47,6

100,0 %

38,1

100,0 %

24,9 %

Zdroj: IDC

Čtěte dále

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
Eset má nového šéfa české pobočky, Juraje Ference vystřídá Jan Urbík
Eset má nového šéfa české pobočky, Juraje Ference vystřídá Jan Urbík
Seyfor vstupuje na maďarský trh, kupuje Revolution Software
Seyfor vstupuje na maďarský trh, kupuje Revolution Software
I QR kódy mohou být nebezpečné, třetina českých firem čelila útoku
I QR kódy mohou být nebezpečné, třetina českých firem čelila útoku
3D tisk – jaké jsou náklady na 3D tisk?
3D tisk – jaké jsou náklady na 3D tisk?
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
'; 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 »