Context: Oživení západoevropského trhu tabletů pokračuje i počátkem čtvrtého kvartálu

7. 12. 2018
Doba čtení: 1 minuta

Sdílet

Autor: © NicoElNino - Fotolia.com
Růst táhlo především Huawei, jež v říjnu 2018 vyrostlo o impozantních 221 %. V západní Evropě se ovšem dařilo i Samsungu a Applu. Téměř 60 % prodejů se uskutečnilo maloobchodními prodejními kanály.

Nová analýza společnosti Context uvádí, že prodej tabletů v západní Evropě zaznamenal v říjnu 2018 meziroční nárůst o 21 %. Za pozitivním výsledkem stojí především Huawei, jež vyrostl o raketových 221 %.

Huawei se tak podařilo v žebříčku tabletových prodejců na západoevropském trhu obsadit druhé místo a vystřídat tak Samsung, a to i přesto že Samsung podle Contextu si ve sledovaném období polepšil o 23 %.

První příčku dokázal udržet Apple, přestože jeho procentuální podíl na západoevropském trhu poklesl. Na druhou stranu dokázal na začátku čtvrtého kvartálu tohoto roku zvýšit ve sledované oblasti prodeje o 4 %.

Context uvádí, že téměř 60 % prodejů se uskutečnilo maloobchodními prodejními kanály, přičemž prodeje vzrostly meziročně o více než 20 %. Prodeje tabletů podnikům rovněž vzrostly, i když ani zdaleka nedosahují retailových čísel.

Za růstem trhu tabletů v západní Evropě momentálně stojí tři nejsilnější výrobci. Množství výrobců špičkových PC a menších prodejců totiž vyklidilo pozice či se začalo soustředit na inovace a marketing,“ podotýká Marie-Christine Pygottová, senior analytička Contextu.

Z geografického hlediska výrazně rostlo Irsko a Itálie. Tabletům se dařilo i ve Španělsku, Portugalsku, Velké Británii či Německu, kde rovněž zaznamenaly dvojciferný růst. Významný propad naopak hlásí Polsko a Švýcarsko, prodeje poklesly i v Nizozemsku.

Vývoj trhu tabletů ve vybraných zemích regionu (říjen 2018)

  • Francie: 7,0 %
  • Irsko: 41,4 %
  • Itálie: 47,7 %
  • Německo: 29,1 %
  • Nizozemsko: -8,0 %
  • Polsko: -21,5 %
  • Portugalsko: 23,6 %
  • Spojené království: 21,3 %
  • Španělsko: 29,8 %
  • Švédsko: 11,6 %
  • Švýcarsko: -20,7 %

Zdroj: Context

Čtěte dále

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
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
České organizace čelí o 44 % více kyberútokům než vloni
České organizace čelí o 44 % více kyberútokům než vloni
3D tisk – jaké jsou náklady na 3D tisk?
3D tisk – jaké jsou náklady na 3D tisk?
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
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
'; 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 »