13

我有一个支持通用链接的应用程序,它目前在应用商店中。

假设它支持域 www.example.com,因此可以通过它轻松打开通用链接。我们将在关联域中有 applinks:www.example.com。

现在说如果我想发布另一个应用程序,它也支持相同的域。现在 iOS 将如何区分通过通用链接打开哪个应用程序..?

4

3 回答 3

22

为了在两个不同的应用程序上支持单个域,您需要在 https://{domain}/apple-app-site-associationUniversal Links中对现有文件进行更改。apple-app-site-association

对于单个应用程序支持

对于单个应用程序支持,它看起来像这样

{
    "applinks": {
        "apps": [],
        "details": [
            {
                "appID": "1234ABCDE.com.domain.myapp",
                "paths": ["*"]
            }
        ]
    }
}

多应用支持

details对于多应用程序支持,您需要在 in数组中applinks再添加一个键值对apple-app-site-association。它看起来像这样

{
    "applinks": {
        "apps": [],
        "details": [
            {
                "appID": "1234ABCDE.com.domain.myApp",
                "paths": ["*"]
            },
            {
                "appID": "1234ABCDE.com.domain.mySecondApp",
                "paths": ["*"]
            },
            {
                "appID": "1234ABCDE.com.domain.myThirdApp",
                "paths": ["*"]
            }
        ]
    }
}

apple-app-site-association文件的一般格式

该文件如下所示:

{
"applinks": {
    "apps": [ ],
    "details": [
        {
            "appID": "{app_prefix}.{app_identifier}",
            "paths": [ "/path/to/content", "/path/to/other/*", "NOT /path/to/exclude" ]
        },
        {
            "appID": "TeamID.BundleID2",
            "paths": [ "*" ]
        }
    ]
}
}

参考

如何在 iOS App 中支持 Universal Links 并为其设置服务器?

于 2016-03-05T14:22:42.207 回答
3

我找到了解决方案,虽然它很简单。我的问题是我的第一个应用程序通过声明来支持所有页面

“*”在 apple-app-site-association 文件的路径部分。现在我所要做的就是在我希望我的第二个应用程序处理的路径之一之前添加 NOT。

像“不是/出租车”。我还没有测试它是否有效。我将在完成后立即发布更新。

于 2016-02-08T13:59:24.230 回答
2

Apple App Site Association 文件示例

{
    "applinks": {
        "apps": [],
        "details": [{
            "appID": "D3KQX62K1A.com.example.photoapp",
            "paths": ["/albums"]
            },
            {
            "appID": "D3KQX62K1A.com.example.videoapp",
            "paths": ["/videos"]
        }]
    }
}

重要提示:数组中字典的顺序决定了系统在查找匹配项时遵循的顺序。第一场比赛获胜,允许您指定一个应用程序来处理您网站中的指定路径,并指定另一个应用程序来处理其余的。

参考资料: https ://developer.apple.com/documentation/uikit/core_app/allowing_apps_and_websites_to_link_to_your_content/enabling_universal_links

于 2019-05-09T14:38:56.120 回答