CINXE.COM

Download CBS News App

<!DOCTYPE html> <html lang="en-US"> <head> <meta charset="utf-8" /> <title>Download CBS News App</title> <!-- grab the metadata from /live --> <script> if (navigator.serviceWorker && !navigator.serviceWorker.controller){navigator.serviceWorker.register('/serviceworker.js')} </script> <meta name="theme-color" content="#101010"> <link rel="manifest" href="/manifest.json"/> <meta name="apple-itunes-app" content="app-id=334256223, app-argument=https://www.cbsnews.com/live/"> <meta property="al:ios:app_name" content="CBS News"> <meta property="al:ios:app_store_id" content="334256223"> <meta property="al:ios:url" content="cbsnewsapp://live/"> <meta property="al:android:app_name" content="CBS News"> <meta property="al:android:package" content="com.treemolabs.apps.cbsnews"> <meta property="og:type" content="website"> <meta property="og:url" content="https://www.cbsnews.com/live/"> <meta property="og:title" content="CBSN"> <meta property="og:description" content="CBSN is CBS News' 24/7 digital streaming news service. It's always on, always free, making CBS News' original, high-quality reporting available to you wherever and whenever you want to watch."> <meta property="og:image" content="https://assets3.cbsnewsstatic.com/hub/i/r/2019/06/21/cf422e24-1501-4289-95a4-8fdb9833c2ea/thumbnail/1200x630/b6ea51c1100568254685ce88e68608d5/logo-cbsn-1920x1080-new.jpg"> <meta property="og:image:width" content="1200"> <meta property="og:image:height" content="630"> <meta property="fb:app_id" content="1536620209892267"> <meta property="fb:pages" content="131459315949"> <meta name="twitter:app:country" content="US"> <meta name="twitter:app:name:iphone" content="CBS News"> <meta name="twitter:app:id:iphone" content="334256223"> <meta name="twitter:app:url:iphone" content="cbsnewsapp://live/"> <meta name="twitter:app:name:ipad" content="CBS News"> <meta name="twitter:app:id:ipad" content="334256223"> <meta name="twitter:app:url:ipad" content="cbsnewsapp://live/"> <meta name="twitter:app:name:googleplay" content="CBS News"> <meta name="twitter:app:id:googleplay" content="com.treemolabs.apps.cbsnews"> <meta name="twitter:app:url:googleplay" content="https://www.cbsnews.com/live/"> <meta name="twitter:site" content="@CBSNews"> <meta name="twitter:title" content="CBSN"> <meta name="twitter:description" content="CBSN is CBS News' 24/7 digital streaming news service. It's always on, always free, making CBS News' original, high-quality reporting available to you wherever and whenever you want to watch."> <meta name="twitter:image" content="https://assets3.cbsnewsstatic.com/hub/i/r/2019/06/21/cf422e24-1501-4289-95a4-8fdb9833c2ea/thumbnail/1200x630/b6ea51c1100568254685ce88e68608d5/logo-cbsn-1920x1080-new.jpg"> <meta name="twitter:card" content="app"> </head> <body> <script> (function(){ const APP_BANNER_FTAG = 'CNM-16-10abc6g'; var allowedOrigins = [ window.location.hostname, 'www-cbsnews-com.cdn.ampproject.org', 'www.cbsnews.com.amp.cloudflare.com', 'cdn.ampproject.org', 'www-cbsnews-com.bing-amp.com' ]; var isMobile = { Android: function() { return navigator.userAgent.match(/Android/i); }, iOS: function() { return navigator.userAgent.match(/iPhone|iPad|iPod/i); }, any: function() { return (isMobile.Android() || isMobile.iOS()); } }; function getFtag(url){ const destUrl = new URL(url); if(destUrl.searchParams.has('ftag')){ return destUrl.searchParams.get('ftag'); } } var url = null; var ftag = null; // For mobile if (isMobile.any()) { url = (new URL(window.location.href)).searchParams.get('url') || document.referrer || 'https://www.cbsnews.com'; // For desktop } else { url = (new URL(window.location.href)).searchParams.get('url') || 'https://www.cbsnews.com/mobile/'; } ftag = getFtag(url); // If the ftag is the app banner ftag that means none was found // So lets append it if(ftag == null){ currentUrl = new URL(window.location.href); if (currentUrl.searchParams.has('ftag')) { ftag = currentUrl.searchParams.get('ftag'); } else { ftag = APP_BANNER_FTAG; } var updatedUrl = new URL(url); updatedUrl.searchParams.append('ftag', ftag); url = updatedUrl.href; } console.log('url', url); console.log('ftag', ftag); // If the domain isn't cbsnews.com, something isn't right so we'll just go home. const parsedUrl = new URL(url); if(allowedOrigins.indexOf(parsedUrl.hostname) > -1){ var reqUrl = 'https://magic-link.cbsnews.com/prod/store/?f=json&u=' + url; // Ping ML var request = new XMLHttpRequest(); request.open('GET', reqUrl, true); request.onload = function() { if (this.status >= 200 && this.status < 400) { // Success! var data = JSON.parse(this.response); console.log('success', data); // Desktop just send to the destination if (!isMobile.any()) { window.location = url; return; } // App-lify url (and normalize as lower case) var appUrl = new URL(url); appUrl.protocol = 'cbsnewsapp:'; appUrl.host = 'cbsnews.com'; appUrl.toString(); // Attempt to open app window.location = appUrl; // Fallback behavior if (isMobile.Android()) { var fallbackUrl = 'https://cbsn.ws/app-download-android'; } else if (isMobile.iOS()) { if(ftag){ ftag = '&ct=' + ftag; } var fallbackUrl = 'https://apps.apple.com/app/apple-store/id334256223?pt=212371'+ ftag + '&mt=8'; } // Fallback to opening in browser redirectTimeout(fallbackUrl, 0); redirectTimeout(url, 1000); } else { console.error(this.response); } }; request.onerror = function() { console.log('couldn\'t connect'); }; request.send(); } else { console.error("Mismatched host"); } function redirectTimeout(url, timeout) { setTimeout(function() { top.location.replace(url) }, timeout); } })(); </script> </body> </html>