为了integrate the 3DS2 protocol我的支付提供商(MangoPay),我必须给出BrowserInfo
数据。
下面是一个例子:
{
"BrowserInfo": {
"AcceptHeader" : "application/json,text/javascript,*/*;q=0.01<",
"JavaEnabled": true,
"Language":"fr",
"ColorDepth": 32,
"ScreenHeight": 667,
"ScreenWidth": 375,
"TimeZoneOffset": "-120"
"UserAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_6_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148"
"JavascriptEnabled": true
}
目前,我可以使用WebBrowser.openBrowserAsync
打开浏览器示例。
如何使用React Native + Expo检索这些信息?
2条答案
按热度按时间zysjyyx41#
我发现唯一可行的方法是多步骤的过程。
公共网页
创建并托管公共网页,执行以下操作:
1.将浏览器信息提取到对象上
1.重定向到给定的重定向URL,其中包含以下信息
简而言之:
Expo应用程序重定向获取
在世博会上,你有两件事要做:
1.启动事件侦听器以获取重定向
1.打开
WebBrowser
示例到上一个公共页面示例:
有了这段代码,您就可以通过按下按钮来获取浏览器信息。
这种解决方案并不理想,因为用户浏览器的开放性很难实现,但目前恐怕没有其他的办法。
zmeyuzjn2#
使用
WebView
和一些JavaScript代码来回发一条带有所需浏览器信息的消息怎么样?您可以将
WebView
HTML+JavaScript文档硬编码到React Native JavaScript文件中,如下所示(未经测试的代码,将其视为伪代码):然后在
WebView
中使用它:或者您甚至可以使用JavaScript浏览器信息从服务器获取代码:
从服务器获取的数据如下所示
然后在
WebView
中: