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();

Sunday, 29 November 2020

This Week in Apps: Snapchat clones TikTok, India bans 43 Chinese apps, more data on App Store commission changes

Welcome back to This Week in Apps, the TechCrunch series that recaps the latest in mobile OS news, mobile applications, and the overall app economy.

The app industry is as hot as ever, with a record 204 billion downloads and $120 billion in consumer spending in 2019. People now spend three hours and 40 minutes per day using apps, rivaling TV. Apps aren’t just a way to pass idle hours — they’re also a big business. In 2019, mobile-first companies had a combined $544 billion valuation, 6.5x higher than those without a mobile focus.

This week, we’re digging into more data about how the App Store commission changes will impact developers, as well as other top stories, like Snapchat’s new Spotlight feed and India’s move to ban more Chinese apps from the country, among other things.

We also have our weekly round-up of news about platforms, services, privacy, trends, and other headlines.

Top Stories

More on App Store Commissions

Last week, App Annie confirmed to TechCrunch around 98% of all iOS developers in 2019 (meaning, unique publisher accounts) fell under the $1 million annual consumer spend threshold that will now move App Store commissions from a reduced 15% to the standard 30%. The firm also found that only 0.5% of developers were making between $800K and $1M; only 1% were in $500K-$800K range; and 87.7% made less than $100K.

This week, Appfigures has compiled its own data on how Apple’s changes to App Store commissions will impact the app developer community.

According to its findings, of the 2M published apps on the App Store, 376K apps are a paid download, have in-app purchases, or monetize with subscriptions. Those 376K apps are operated by a smaller group of 124.5K developers. Of those developers, only a little under 2% earned more than $1M in 2019. This confirms App Annie’s estimate that 98% of all developers earned under the $1M threshold.

Image Credits: Appfigures

The firm also took a look at companies above the $1M mark, and found that around 53% were games, led by King (of the Candy Crush titles). After a large gap, the next largest categories in 2019 were Health & Fitness, Social Networking, Entertainment, then Photo & Video.

 

Of the developers making over $1M, the largest percentage — 39% — made between $1M and $2.5M in 2019.

Image Credits: Appfigures

The smallest group (1.5%) of developers making more than $1M is the group making more than $150M. These accounted for 29% of the “over $1M” crowd’s total revenue. And those making between $50M and $150M accounted for 24% of the revenue.

Image Credits: Appfigures

AppFigures also found that of those making less than $1M, most (>97%) fell into the sub $250K category. Some developes were worried about the way Apple’s commission change system was implemented — that is, it immediately upon hitting $1M and only annual reassessments. But there are so few developers operating in the “danger zone” (being near the threshold), this doesn’t seem like a significant problem. Read More.

Snapchat takes on TikTok

After taking on TikTok  with music-powered features last month, Snapchat this week launched a dedicated place within its app where users can watch short, entertaining videos in a vertically scrollable, TikTok-like feed. This new feature, called Spotlight, will showcase the community’s creative efforts, including the videos now backed by music, as well as other Snaps users may find interesting. Snapchat says its algorithms will work to surface the most engaging Snaps to display to each user on a personalized basis. Read More

India bans more Chinese apps

India, which has already banned at least 220 apps with links to China in recent months, said on Tuesday it was banning an additional 43 Chinese apps, again citing cybersecurity concerns. Newly banned apps include short video service Snack Video, e-commerce app AliExpress, delivery app Lalamove, shopping app Taobao Live, business card reader CamCard, and others. There are now no Chinese apps in the top 500 most-used apps in India, as a result. Read More.

Weekly News

Platforms

  • Apple’s App Store Connect will now require an Apple ID with 2-step verification enabled.
  • Apple announces holiday schedule for App Store Connect. New apps and app updates won’t be accepted Dec. 23-27 (Pacific Time).
  • SKAdNetwork 2.0 adds Source App ID and Conversion Value. The former lets networks identify which app initiated a download from the App Store and the latter lets them know whether users who installed an app through a campaign performed an action in the app, like signing up for a trial or completing a purchase.
  • Apple rounded up developer praise for its App Store commission change. Lending their names to Apple’s list: Little 10 Robot (Tots Letters and Numbers), Broadstreet (Brief), Foundermark (Friended), Shine, Lifesum, Med ART Studios (Sprout Fertility Tracker), RevenueCat, OK Play, SignEasy, Jump Rope, Wine Spectator, Apollo for Reddit, SwingVision Tennis, Cinémoi.

Services

  • Fortnite adds a $12/mo subscription offering a full season battle pass, 1,000 monthly bucks and a Crew Pack featuring an exclusive outfit bundle. More money for Apple to miss out on, I guess.
  • 14 U.S. states plus Washington D.C. have now adopted COVID-19 contact tracing apps. CA and other states may release apps soon. Few in the U.S. have downloaded the apps, however, which limits their usefulness. 
  • Samsung’s TV Plus streaming TV service comes to more Galaxy phones

Security & Privacy

  • Apple’s senior director of global privacy, Jane Horvath, in a letter to the Ranking Digital Rights organization, confirms App Tracking Transparency feature will arrive in 2021. The feature will allow users to disable tracking between apps. The letter also slams Facebook for collecting “as much data as possible” on users.
  • Baidu’s apps banned from Google Play, Baidu Maps and the Baidu App, were leaking sensitive user data, researchers said. The apps had 6M U.S. users and millions more worldwide.

Apps in the News

Trends

Image Credits: Sensor Tower

  • U.S. Brick-and-mortar retail apps saw 27% growth in first three quarters of 2020, or nearly double the growth of online retailer apps (14%), as measured by new installs. Top apps included Walmart, Target, Sam’s Club, Nike, Walgreens, and The Home Depot.
  • App Annie forecast estimates shoppers will spend over 110M hours in (Android) mobile shopping apps this holiday season.
  • PayPal and Square’s Cash app have scored 100% of the newly-issued supply of bitcoins, report says.
  • All social media companies now look alike, Axois argues, citing Twitter’s Fleets and Snap’s TikTok-like feature as recent examples.

Funding and M&A

  • CoStar Group, a provider of commercial real estate info and analytics, acquires Homesnap’s platform and app for $250M to move into the residential real estate market.
  • Remote work app Friday raises $2.1M seed led by Bessemer Venture Partners
  • Stories-style Q&A app F3 raises $3.9M. The team previously founded Ask.fm.
  • Edtech company Kahoot acquires Drops, a startup whose apps help people learn languages using games, for $50M.
  • Mobile banking app Current raises $131M Series C, led by Tiger Global Management.
  • Square buys Credit Karma’s tax unit, Credit Karma Tax, for $50M in cash.



from TechCrunch https://ift.tt/3fKNsce
Share:
//]]>

0 comments:

Post a Comment

Blog Archive

Definition List

Unordered List

Support