当访问未安装应用的Branch链接时,出现“Safari无法打开页面,因为地址无效”的错误提示。

27
我正在将一个应用程序与Branch.io集成,并在Safari上遇到了问题(我已在iOS 11上测试过,但该问题也可能出现在其他版本上)。
基本上,如果我的应用程序已安装并在Safari或Chrome中打开快速链接,则一切正常,我会收到提示以在应用程序中打开链接。但是,如果我< strong>卸载应用程序并在Safari中点击链接,则会收到以下消息:

error message on Safar

当我点击“确定”按钮时,会出现打开Appstore的提示,这是期望的行为。有没有办法防止出现“Safari无法打开页面,因为地址无效”的消息?我已经尝试在没有安装应用程序的情况下在Chrome中打开链接,一切正常。
我已经使用了官方设置指南并输入了我的URI Scheme,但禁用了Universal Links,因为我自己处理它们。这可能导致问题吗?

嗨,现在它对你有效吗?当应用程序安装时,我也遇到了同样的错误。我按照文档上的说明进行了设置。 - undefined
5个回答

25

Branch.io的Aaron在这里。

您可能会收到此错误,是因为当您的应用程序未安装时,Branch试图通过URI方案启动您的应用程序。从iOS 9.2开始,苹果不再官方支持使用URI方案进行深度链接,建议开发人员采用Universal Links以在iOS上获得等效的功能。

具体而言,自定义URI方案存在重大缺点,尤其是无法轻松处理以下两种情况:

  • 应用未安装时。
  • 多个应用程序尝试声称myapp://。

因此,我们建议您在Branch Dashboard中启用Universal links。您所需做的就是提供您的bundle ID和应用程序前缀,Branch将为您托管AASA文件。


5
我已启用通用链接并提供了必要的信息,但仍然出现错误。 AASA 文件需要一些时间来传播更改吗?在我点击错误提示上的“确定”后,iOS 应用商店会弹出提示框。所以看起来它正在错误地呈现这个错误。 - James Parker
我们最近发现了相同的问题。 - andrewkslv
2
我也有同样的问题,而且我的问题还没有解决。 - geoyws
我也遇到了这个问题,而且似乎只是最近才发生的。 - Philberg
2
从iOS 9.2开始,苹果不再官方支持URI方案进行深度链接。您能提供引用吗?据我所知,这是不正确的。 - CuriousGeorge

22

我也遇到过这个问题,但是我发现按照Branch测试应用程序中“Test”部分的说明操作后,我能够打开应用程序而不会出现Safari警告。

https://github.com/BranchMetrics/ios-branch-deep-linking/tree/master/Branch-TestBed-Swift#test

1. If the app was installed on the test device already:
    * Delete the app from the device
    * Clear Safari web content, history and cookies (Settings > Safari > Clear History and Website Data)
    * Reset the device's IDFA (Settings > Privacy > Advertising > Reset Advertising Identifier...)
2. Create a Marketing link from the Branch dashboard
3. Paste the link into Notes on an iPhone
4. Tap the link - you will get redirected to the web page
5. ...

1
谢谢!这解决了问题。 - sebaferreras
非常感谢你,你救了我的一天! - Ramón Esteban
哇,我在与分支支持和我们的开发人员进行了许多会议来解决这个问题,但是您提供的步骤解决了这个问题。谢谢。 - Ameen Rabea

4

希望能对某些人有所帮助。

  1. 前往: https://dashboard.branch.io/link-settings/general

enter image description here

这些ID和前缀来自您的苹果控制台:https://developer.apple.com/account/ios/identifier/bundle 将ASAA文件添加到您的服务器。

Instruction: https://developer.apple.com/library/archive/documentation/General/Conceptual/AppSearch/UniversalLinks.html#//apple_ref/doc/uid/TP40016308-CH12-SW2

如果简短来说,创建文件 https://yourdomain.com/.well-known/apple-app-site-association(不带.json扩展名)。
文件内容(这是我的内容,不确定需要哪个对象,我添加了两个):
{
    "applinks": {
        "apps": [],
        "details": [
            {
                "appID": "YOURPREFIX.com.your.id",
                "paths": [ "*" ]
            },
            {
                "appID": "com.your.id",
                "paths": [ "*" ]
            }
        ]
    }
}
  1. 再次前往https://dashboard.branch.io/link-settings/general,并更改为:
    输入图像描述

希望这对于需要基本工作链接且不出现错误并自动打开应用程序的人有所帮助。


保守模式是让我成功的关键。默认为智能模式。 - Clayton Selby

0

0
尝试清除Safari缓存。我之前也遇到过类似的问题。
设置 > Safari > 清除历史记录和网站数据。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接