在 Chromecast 接收器应用中识别用户所在的国家/地区?

Posted

技术标签:

【中文标题】在 Chromecast 接收器应用中识别用户所在的国家/地区?【英文标题】:Identifying user's country in a Chromecast receiver app? 【发布时间】:2020-05-12 20:24:02 【问题描述】:

有没有办法 我在演员表文档中没有看到任何关于位置 API 的提及。 html Geolocation API 可以在电视中使用吗?它会请求许可吗?

【问题讨论】:

【参考方案1】:

根据Cast Documentation,Web Receiver 应用程序是 HTML5/javascript 应用程序。您应该能够向 IP Geolocation API(例如 Ipregistry 提供的 API)发出 HTTP GET 请求。

这是一个使用XMLHttpRequest的代码示例:

var request = new XMLHttpRequest();
request.onreadystatechange = function() 
    if (request.readyState === 4 && request.status === 200) 
        var json = JSON.parse(request.responseText);
        console.log('Your country is ' + json['location']['country']['name']);
    
;
request.open('GET', 'https://api.ipregistry.co/?key=tryout', true);
request.send(null);

另一个使用fetch:

fetch('https://api.ipregistry.co/?key=tryout')
    .then(function (response) 
        return response.json();
    )
    .then(function (json) 
        console.log('Your country is ' + json['location']['country']['name']);
    );

发送到 IP Geolocation API 的请求会公开公共用户 IP 地址。然后使用这个 IP 地址来猜测用户所在的国家/地区。通常,IP 地址的国家/地区准确性非常好。

【讨论】:

以上是关于在 Chromecast 接收器应用中识别用户所在的国家/地区?的主要内容,如果未能解决你的问题,请参考以下文章

Chromecast 接收器应用程序无故终止

单个 HTML 上的多个 Chromecast 应用开发密钥?

Chromecast 内置:如何从硬件用户界面的角度与 3rd 方接收器应用程序交互?

在接收端获取 Chromecast 中的队列项目

启动自定义 chromecast 接收器有时会超时

如何预览 chromecast 接收器应用程序?