iOS - 通用链接 - 防止浏览器中的重定向打开已安装的应用程序
iOS - Universal links - Preventing a redirect in browser from opening installed application
用户在 iOS 上安装了我们的移动应用程序,但通过 Safari 浏览器使用我们的网站。用户正常浏览网页,但是...
通过 checkout/purchase 过程,我们使用外部托管的卡支付服务,在输入卡后,将用户重定向到发卡机构的 3DS 身份验证服务,完成后,用户将被重定向回我们网站上的一个页面。
(~/cart.php?target=Payment_return)
在这种情况下,Universal linking 介入并导致重定向 link 打开我们安装的应用程序,而不是继续在网络浏览器中。 [这不会发生在 android 设备上]
这导致付款处理完成,但用户在结帐过程中丢失。
我们的 AASA 协会文件包含:
"paths": ["NOT *target=product_search*","NOT /cart.php?target=payment_return*","*"]
但这种排除似乎并没有兑现。
团队很困惑,非常感谢这里的任何建议。
显然,这与用户上次打开 link 我们的网站或应用程序的方式有关,并且 iOS 'remembering' 该选择是默认设置; (如果用户最后的选择是在浏览器中打开我们的 link,则不会出现这种情况);尽管如此,在浏览器中工作时的重定向是不受欢迎的,而且 AASA 排除似乎不起作用。
我们错过了什么?或者肯定有很多其他人在同一条船上?帮助。
tia.
从文档中,参考 here:
Note that only the path component of the URL is used for comparison. Other components, such as the query string or fragment identifier, are ignored.
这可能就是排除项不受尊重的原因。
不知道iOS13以下是否需要支持,但是如果你是针对iOS13以上的版本,还是有希望的,check here求详细文档。
在你的情况下,它可以是这样的(我没试过,只是给你一个想法):
{ "applinks": {
"details": [
{
"appIDs": [...],
"components": [
{
"/": "/cart.php*",
"?": { "target": "payment_return" },
"exclude": true,
"comment": "Matches any URL whose path starts with cart.php and which has a query item with name 'target' and a value payment_return"
}
]
}
]}, ...}
并且不要忘记在网站上更改 AASA 后重新安装应用程序。
用户在 iOS 上安装了我们的移动应用程序,但通过 Safari 浏览器使用我们的网站。用户正常浏览网页,但是...
通过 checkout/purchase 过程,我们使用外部托管的卡支付服务,在输入卡后,将用户重定向到发卡机构的 3DS 身份验证服务,完成后,用户将被重定向回我们网站上的一个页面。
(~/cart.php?target=Payment_return)
在这种情况下,Universal linking 介入并导致重定向 link 打开我们安装的应用程序,而不是继续在网络浏览器中。 [这不会发生在 android 设备上] 这导致付款处理完成,但用户在结帐过程中丢失。
我们的 AASA 协会文件包含:
"paths": ["NOT *target=product_search*","NOT /cart.php?target=payment_return*","*"]
但这种排除似乎并没有兑现。
团队很困惑,非常感谢这里的任何建议。
显然,这与用户上次打开 link 我们的网站或应用程序的方式有关,并且 iOS 'remembering' 该选择是默认设置; (如果用户最后的选择是在浏览器中打开我们的 link,则不会出现这种情况);尽管如此,在浏览器中工作时的重定向是不受欢迎的,而且 AASA 排除似乎不起作用。
我们错过了什么?或者肯定有很多其他人在同一条船上?帮助。
tia.
从文档中,参考 here:
Note that only the path component of the URL is used for comparison. Other components, such as the query string or fragment identifier, are ignored.
这可能就是排除项不受尊重的原因。
不知道iOS13以下是否需要支持,但是如果你是针对iOS13以上的版本,还是有希望的,check here求详细文档。
在你的情况下,它可以是这样的(我没试过,只是给你一个想法):
{ "applinks": {
"details": [
{
"appIDs": [...],
"components": [
{
"/": "/cart.php*",
"?": { "target": "payment_return" },
"exclude": true,
"comment": "Matches any URL whose path starts with cart.php and which has a query item with name 'target' and a value payment_return"
}
]
}
]}, ...}
并且不要忘记在网站上更改 AASA 后重新安装应用程序。