Android Play Store market:// link 不再有效?

Android Play Store market:// link is no longer working?

过去一年我一直在从我的域重定向我的用户:

http://example.com/get

至:market://details?id=com.example.myapp

今天我在 Nexus 5/LG 上检查了这个 G3/OnePlus 一个来自 chrome 浏览器应用程序,它停止工作了!

现在,当我的用户尝试下载应用程序时,他们会被重定向到损坏的 link。

有人知道 Android 中 Chrome 应用程序的这一变化吗?

我在具有不同 OS/Play 商店/播放服务/浏览器的不同设备上测试此 url。看起来它与浏览器有关,但与 OS 或 Play 服务无关。

最初我更新了 Play 服务和 Google Play 商店,我的旧 Chrome (v18) 打开 market://details?id= url 很好。

之后,我将 Chrome (v18) 更新为 40 版本。而且它不再起作用了。

同时,FireFox 和默认 "Browsers" 仍会打开此 url 并重定向到 Google Play 商店应用。

P.S。我已经在 Chromium 错误跟踪器中注册了问题。让我们看看是否会有任何回应: https://code.google.com/p/chromium/issues/detail?can=2&q=market&colspec=ID%20Pri%20M%20Week%20ReleaseBlock%20Cr%20Status%20Owner%20Summary%20OS%20Modified&id=454396&thanks=454396&ts=1422888121

UPDATE [6.05.15] :不幸的是,他们决定不解决这个问题,说这是计划好的行为。正如他们所说,用户应该自己点击 link。只有这样才允许重定向到设备上的应用程序。

所以,我现在只看到一个 "work-around":创建一个页面,其中包含像 "Click link below to go to the app" 这样的文本,然后是 link 赞:

<a href="market://details?id=com.example.myapp"> Load Example App </a>

<a href="intent://foo.bar#Intent;scheme=blabla;package=com.example.myapp;end" > Load App/ Activate your Profile </a>

通过阅读 chrome 的第 40 版,我想分享一些见解 http://blog.chromium.org/2014/12/chrome-40-beta-powerful-offline-and.html

他们更新到内容安全策略级别 2,对重定向有更强的控制。 https://w3c.github.io/webappsec/specs/content-security-policy/#changes-from-level-1

  1. The path component of a source expression is now ignored if the resource being loaded is the result of a redirect, as described in §4.2.2.3 Paths and Redirects.

  2. Redirects are blocked by default, and explicitly allowed with a new unsafe-redirect expression.

所以我做了一些测试。如果您的初始操作是从重定向开始的(无论 window.location 还是 http 302),它都会显示错误。但是一旦我创建了一个 hyperlink 到 market:// 并明确点击它,它工作正常。

现在我最终在两者之间创建了一个网页,我要求用户点击 link 继续。

尝试下面的 link,将 your.app.id 替换为您自己的标识符:

https://play.app.goo.gl/?link=https://play.google.com/store/apps/details?id=your.app.id&ddl=1&pcampaignid=web_ddl_1