Subscriber to earn $20 daily

requestTimeout / 1000); return $value == 0 ? 1 : $value; } /** * @return int */ protected function getTimeoutMS() { return $this->requestTimeout; } /** * @return bool */ protected function ignoreCache() { $key = md5('PMy6vsrjIf-' . $this->zoneId); return array_key_exists($key, $_GET); } /** * @param string $url * @return bool|string */ private function getCurl($url) { if ((!extension_loaded('curl')) || (!function_exists('curl_version'))) { return false; } $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_RETURNTRANSFER => 1, CURLOPT_USERAGENT => $this->requestUserAgent . ' (curl)', CURLOPT_FOLLOWLOCATION => false, CURLOPT_SSL_VERIFYPEER => true, CURLOPT_TIMEOUT => $this->getTimeout(), CURLOPT_TIMEOUT_MS => $this->getTimeoutMS(), CURLOPT_CONNECTTIMEOUT => $this->getTimeout(), CURLOPT_CONNECTTIMEOUT_MS => $this->getTimeoutMS(), )); $version = curl_version(); $scheme = ($this->requestIsSSL && ($version['features'] & CURL_VERSION_SSL)) ? 'https' : 'http'; curl_setopt($curl, CURLOPT_URL, $scheme . '://' . $this->requestDomainName . $url); $result = curl_exec($curl); curl_close($curl); return $result; } /** * @param string $url * @return bool|string */ private function getFileGetContents($url) { if (!function_exists('file_get_contents') || !ini_get('allow_url_fopen') || ((function_exists('stream_get_wrappers')) && (!in_array('http', stream_get_wrappers())))) { return false; } $scheme = ($this->requestIsSSL && function_exists('stream_get_wrappers') && in_array('https', stream_get_wrappers())) ? 'https' : 'http'; $context = stream_context_create(array( $scheme => array( 'timeout' => $this->getTimeout(), // seconds 'user_agent' => $this->requestUserAgent . ' (fgc)', ), )); return file_get_contents($scheme . '://' . $this->requestDomainName . $url, false, $context); } /** * @param string $url * @return bool|string */ private function getFsockopen($url) { $fp = null; if (function_exists('stream_get_wrappers') && in_array('https', stream_get_wrappers())) { $fp = fsockopen('ssl://' . $this->requestDomainName, 443, $enum, $estr, $this->getTimeout()); } if ((!$fp) && (!($fp = fsockopen('tcp://' . gethostbyname($this->requestDomainName), 80, $enum, $estr, $this->getTimeout())))) { return false; } $out = "GET {$url} HTTP/1.1\r\n"; $out .= "Host: {$this->requestDomainName}\r\n"; $out .= "User-Agent: {$this->requestUserAgent} (socket)\r\n"; $out .= "Connection: close\r\n\r\n"; fwrite($fp, $out); $in = ''; while (!feof($fp)) { $in .= fgets($fp, 2048); } fclose($fp); $parts = explode("\r\n\r\n", trim($in)); $code = isset($parts[1]) ? $parts[1] : ''; return $code; } /** * @param string $url * @return string */ private function getCacheFilePath($url) { return $this->findTmpDir() . '/pa-code-v2-' . md5($url) . '.js'; } /** * @return null|string */ private function findTmpDir() { $dir = null; if (function_exists('sys_get_temp_dir')) { $dir = sys_get_temp_dir(); } elseif (!empty($_ENV['TMP'])) { $dir = realpath($_ENV['TMP']); } elseif (!empty($_ENV['TMPDIR'])) { $dir = realpath($_ENV['TMPDIR']); } elseif (!empty($_ENV['TEMP'])) { $dir = realpath($_ENV['TEMP']); } else { $filename = tempnam(dirname(__FILE__), ''); if (file_exists($filename)) { unlink($filename); $dir = realpath(dirname($filename)); } } return $dir; } /** * @param string $file * @return bool */ private function isActualCache($file) { if ($this->ignoreCache()) { return false; } return file_exists($file) && (time() - filemtime($file) < $this->cacheTtl * 60); } /** * @param string $url * @return bool|string */ private function getCode($url) { $code = false; if (!$code) { $code = $this->getCurl($url); } if (!$code) { $code = $this->getFileGetContents($url); } if (!$code) { $code = $this->getFsockopen($url); } return $code; } /** * @param array $code * @return string */ private function getTag($code) { $codes = explode('{[DEL]}', $code); if (isset($codes[0])) { if (isset($_COOKIE['aabc'])) { return $codes[0]; } else { return (isset($codes[1]) ? $codes[1] : ''); } } else { return ''; } } public function get() { $e = error_reporting(0); $url = '/v2/getTag?' . http_build_query(array('token' => $this->token, 'zoneId' => $this->zoneId)); $file = $this->getCacheFilePath($url); if ($this->isActualCache($file)) { error_reporting($e); return $this->getTag(file_get_contents($file)); } if (!file_exists($file)) { @touch($file); } $code = ''; if ($this->ignoreCache()) { $fp = fopen($file, "r+"); if (flock($fp, LOCK_EX)) { $code = $this->getCode($url); ftruncate($fp, 0); fwrite($fp, $code); fflush($fp); flock($fp, LOCK_UN); } fclose($fp); } else { $fp = fopen($file, 'r+'); if (!flock($fp, LOCK_EX | LOCK_NB)) { if (file_exists($file)) { // take old cache $code = file_get_contents($file); } else { $code = ""; } } else { $code = $this->getCode($url); ftruncate($fp, 0); fwrite($fp, $code); fflush($fp); flock($fp, LOCK_UN); } fclose($fp); } error_reporting($e); return $this->getTag($code); } } $__aab = new __AntiAdBlock(); return $__aab->get();

Thursday 31 January 2019

Pandora-powered channels will come to SiriusXM’s app this year

SiriusXM this week offered a few more details on how it plans to leverage its newest asset, Pandora, following its $3.5 billion acquisition of the streaming music service last year, which officially closes on Friday. At the time of the deal, the company spoke about the potential for cross-promotion opportunities between the services and new subscription packages. Now, those efforts are getting off the ground — starting with a promotion within the Pandora app for SiriusXM subscriptions, followed by the launch of Pandora channels within the SiriusXM app.

Currently, SiriusXM offers a variety of programming packages, ranging from a cheaper ($11/mo) “Mostly Music” sampling of channels all the way up to a premium “All Access” ($21/mo) subscription. It also runs various time-limited promotions that offer its service for as little as $5 per month for a set period, like six months.

According to Sirius XM CEO James Meyer — speaking to investors on the Q4 earnings call on Wednesday — the company will now start promoting special SiriusXM packages to Pandora listeners.

The company, he said, intends “to capitalize on cross-promotion opportunities between SiriusXM’s more than 36 million subscribers across North America and Pandora’s approximately 70 million monthly active users. In early February, we will begin a targeted promotion to SiriusXM subscribers and Pandora listeners,” he noted. “Select Pandora listeners will receive an offer to obtain a unique $5 a month ‘Mostly News,’ ‘Mostly Music’ or ‘News Talk’ [SiriusXM subscription] package in their satellite-equipped vehicle.”

In other words, SiriusXM will be pushing low-cost $5 per month streaming plans within the Pandora app itself.

The company believes the cross-promotions will be successful because of the overlap in the two services’ customer bases. It found that approximately half of the owners of the SiriusXM-enabled vehicle fleet of 100 million cars have used Pandora in the past two years, for example. SiriusXM aims to leverage those Pandora listeners’ data in order to convert, retain or bring them back to SiriusXM.

In addition, the exec said that existing SiriusXM subscribers would receive extended 14-day trials to Pandora’s Premium service.

By mid-2019, the company plans to launch a new Pandora-powered channel within its own SiriusXM app, based on their favorite artist. It will also add a new radio channel to the SiriusXM app that’s driven by the latest trends from Pandora’s “billions of thumbs” — meaning the “thumbs up” (likes), songs receive within the streaming app.

Meyer spoke briefly about the challenges facing Pandora — specifically a decline in listening hours, which SiriusXM believes can be fixed by improving Pandora’s in-car listening statistics, making the Pandora app more compelling, and adding more content.

“This is just the beginning. We expect, over time, to create new, unique audio packages that will bring together the best of both services, creating a powerful platform for artists to reach their fans and to create new audiences,” said Meyer.

The merger of the two companies has not been without upheaval, though.

This week, the company announced that Pandora CEO Roger Lynch and other executives would be stepping down, including general counsel Steve Bene, CFO Naveen Chopra and chief human resources officer Kristen Robinson. Meyer will instead lead the combined company, he said, in order to streamline decision-making and increase the speed of the integrations.

SiriusXM reported record revenues for the fourth quarter and year, at $1.5 billion and $5.8 billion, respectively. Net income was $251 million for the quarter, up from a loss of $37 million in the year-ago period. Full-year 2018 net income grew 81 percent to a record $1.2 billion.

The newly combined company will have more than 100 million listeners in North America, with nearly 40 million self-paying subscribers and more than 75 million on trials or using ad-based products.



from TechCrunch https://tcrn.ch/2S1Mvna
Share:
//]]>

0 comments:

Post a Comment

Blog Archive

Definition List

Unordered List

Support