IDC: Apple i Samsung ztrácejí podíly na trhu tabletů

31. 7. 2015
Doba čtení: 2 minuty

Sdílet

Autor: Intel
Ve druhém čtvrtletí trh tabletů meziročně i mezičtvrtletně klesal a s ním i dva přední hráči.

Celosvětový trh tabletů klesl ve druhém čtvrtletí meziročně o 7 %. Globálně bylo metrikou IDC dodáno 44,7 milionu kusů.

Mezičtvrtletně trh klesl o 3,9 % a analytici to připisují malým inovacím v hardwaru a omezené aktualizaci portfolií výrobců.

Mimo pokles pozorujeme výrazný posun mezi výrobci s tím, jak top dva hráči Apple a Samsung ztrácejí podíl na celkovém trhu,“ uvedl Jean Philippe Bouchard, ředitel výzkumu tabletů v IDC.

V prvním čtvrtletí držely společnosti Apple a Samsung 45 % trhu, jenže nyní jejich podíl klesl na 41 % s tím, jak rostou prodeje značek jako LG, Huawei a E Fun.

Každý z těchto rostoucích výrobců dokázal oslovit volné prostředky v kapsách nakupujících,“ uvedl Bouchard s tím, že společnosti LG a Huawei zaujaly připojenými tablety a E Fun zase většími tablety a zařízeními 2 v 1.

Zároveň IDC pozoruje, že společný podíl top pěti výrobců mezičtvrtletně klesl z 54 % na 51 %. Huawei se přitom do top pětky dostalo poprvé. E Fun se do top 10 probojoval znovu po roce.

První dva se drží, ale klesají

I přes pokračující pokles prodeje iPadů si Apple udržel vedoucí pozici s 10,9 miliony dodanými kusy. Samsung skončil druhý se 7,6 milionu dodaných tabletů a podílem 17 %.

Lenovo si udrželo třetí příčku s 2,5 milionu dodaných tabletů a 5,7% tržním podílem. Společonsti LG a Huawei zakončily kvartál statistickou remízou na čtvrtém/pátém místě s dodávkami 1,6 milionu zařízení.

Prodeje ostatních výrobců mimo top 5 rostly rychleji než trh a tvoří 46 % trhu.

Delší životní cykly, větší konkurence jiných kategorií, jako jsou velké smartphony, spolu s faktem, že koncoví uživatelé mohou instalovat nejnovější operační systémy na své starší tablety, utlumily na spotřebním trhu počáteční nadšení pro tato zařízení,“ uvedl Jitesh Ubrani, senior výzkumný analytik IDC.

Trhu mohou podle IDC pomoci nové formfaktory typu 2v1 a přidání funkcionalit zvyšujících produktivitu.

Tab.: Top pět výrobců tabletů celosvětově (v mil, kusů)

Cyber25

Výrobce

Q2-15 dodávky

Q2-15 tržní podíl

Q2-14 dodávky

Q2-14 tržní podíl

Meziroční změna

1. Apple

10,9

24,5 %

13,3

27,7 %

-17,9 %

2. Samsung

7,6

17,0 %

8,6

18,0 %

-12,0 %

3. Lenovo

2,5

5,7 %

2,4

4,9 %

6,8 %

4. Huawei*

1,6

3,7 %

0,8

1,7 %

103,6 %

4. LG Electronics*

1,6

3,6 %

0,5

1,0 %

246,4 %

Ostatní

20,4

45,6 %

22,4

46,7 %

-9,3 %

Celkem

44,7

100 %

48,0

100 %

-7,0 %

Zdroj: IDC Worldwide Quarterly Tablet Tracker

Pozn.: IDC do tabletů počítá i slate tablety a zařízení 2 v 1.

Čtěte dále

Od června musejí být weby tisíců firem dostupné pro zdravotně znevýhodněné
Od června musejí být weby tisíců firem dostupné pro zdravotně znevýhodněné
Peter Majdak a Veronika Závodná posilují obchodní tým TP-Linku
Peter Majdak a Veronika Závodná posilují obchodní tým TP-Linku
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
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
Za vysoké účty za elektřinu nemohou datacentra, ale kancelářské počítače
Za vysoké účty za elektřinu nemohou datacentra, ale kancelářské počítače
3D tisk – jaké jsou náklady na 3D tisk?
3D tisk – jaké jsou náklady na 3D tisk?
'; 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 »