" Safari无法打开页面,因为地址无效"在卸载应用程序的访问分支链接时出现

时间:2017-11-23 12:49:08

标签: ios branch.io

我正在将一个应用程序与Branch.io集成,并在Safari中遇到问题(我已经在iOS 11上对此进行了测试,但问题也可能出现在其他版本上)。

基本上,如果我安装了我的应用并在Safari或Chrome中打开了一个快速链接,一切正常,我会提示打开应用中的链接。但是,如果我卸载应用并点击Safari中的链接,我会收到以下消息:

error message on Safar

当我点击确定按钮时,我会收到打开Appstore的提示,这是所需的行为。有没有办法阻止" Safari无法打开页面,因为地址无效"出现的消息?我尝试在没有安装应用的情况下在Chrome中打开链接,一切正常。

我已经使用了官方设置指南并输入了我的URI方案但禁用了Universal Links,因为我自己处理这些问题。这会导致这个问题吗?

4 个答案:

答案 0 :(得分:16)

来自Branch.io的Aaron

您可能收到此错误,因为当未安装应用时,Branch正尝试通过URI方案启动您的应用。从iOS 9.2开始,Apple不再正式支持深度链接的URI方案,强烈建议开发人员实施Universal Links以获得iOS上的等效功能。

具体来说,自定义URI方案存在明显的缺点,最明显的是无法轻松处理这两种情况:

  • 未安装该应用时。
  • 当多个应用尝试声明myapp://。

因此,我们建议您在分支仪表板中启用通用链接。您需要做的就是提供您的包ID和应用前缀,而Branch将为您托管AASA文件。

答案 1 :(得分:9)

我也遇到了这个问题,但我发现按照分支测试应用程序测试部分的说明,我可以在没有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. ...

答案 2 :(得分:1)

希望对您有所帮助。

  1. 转到: https://dashboard.branch.io/link-settings/general

enter image description here

您的Apple信息中心中的这些ID和前缀:https://developer.apple.com/account/ios/identifier/bundle

  1. 将ASAA文件添加到您的服务器

说明: 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并更改为:
    enter image description here

希望它可以帮助人们进行基本的作品链接,而不会出现错误并自动打开应用程序。

答案 3 :(得分:0)

从 iOS 14 开始,应用不再直接向网络服务器发送对 AASA 文件的请求。相反,他们将这些请求发送到 Apple 管理的专用于关联域的内容交付网络 (CDN)。

请看这里:https://developer.apple.com/documentation/safariservices/supporting_associated_domains