在 Android 模拟器中使用本地站点 运行 上的 google 的 PaymentRequest

Use google's PaymentRequest on local site running in Android Emulator

我正在尝试在我的 android 模拟器中测试 Google 本地网站 运行 上的 PaymentRequest api。然而,当我这样做时

var paymentRequest = window.PaymentRequest(//some object here//);

我收到以下错误

"Error: Failed to construct 'PaymentRequest': Must be in a secure context

现在,PaymentRequest 在本地主机和 https 上 运行,但是 运行 从 android 模拟器上的端口 运行 将它设置为 10.2.2.01:8000/myUrlHere 将失败因为那不是本地主机。关于如何解决这个问题的任何想法?

如果您拥有 Android 设备,可以通过 USB 数据线连接设备并从本地主机提供服务来测试您的站点。试试这个:

https://developers.google.com/web/tools/chrome-devtools/remote-debugging/

如果你不这样做,你可能想用模拟器试试这个工具:

https://ngrok.com/

ngrok 允许您从 ***.ngrok.com 域的本地主机代理服务。

PaymentRequest 必须在安全上下文中使用,它是以下之一:

  1. HTTPS。
  2. 本地主机。
  3. 磁盘上的本地文件。

http:// 10.2.2.01:8000 不是安全上下文,因此您不能在那里使用 PaymentRequest。尝试以下操作之一:

  1. https://10.2.2.01:8000。 (SSL 证书必须有效。这意味着 URL 栏中的锁图标应为绿色。例如,您可以从 https://letsencrypt.org/ 获取一个。)
  2. https://localhost:8000.
  3. file:///sdcard/index.html