如何在Expo App中添加多个URL方案而不弹出?

时间:2019-05-16 09:13:35

标签: android ios react-native expo deep-linking

我正在通过this link向我的Expo App添加深度链接,但是找不到任何文档来添加多个方案。甚至可以在Expo App中添加多个方案而无需将其弹出吗?

2 个答案:

答案 0 :(得分:1)

您可以通过配置 app.json 文件将多个 URL 关联到您的 Expo 应用程序而无需弹出。

对于 iOS,您需要修改 associatedDomains 键:

{
    ...
    "ios": {
        ...
        "associatedDomains": ["applinks:mydomain.com", "applinks:myotherdomain.com"]
    }
}

对于 Android,您需要修改 intentFilters 键:

{
    ...
    "android": {
        ...
        "intentFilters": [{
            "action": "VIEW",
            "autoVerify": true || false,
            "data": [
                { "scheme": "https", "host": "mydomain.com" },
                { "scheme": "https", "host": "myother.com" }
            ]
            "category": ["BROWSABLE", "DEFAULT"]
        }]
    }

此外,根据您的要求,您可能需要验证要与应用关联的域的所有权。 iOS 和 Android 都有不同(但相似)的方法来实现这一点。您可以在 Expo's deep linking documentation 中找到有关该过程的详细信息。

答案 1 :(得分:0)

对于IOS应用程序,您可以使用以下步骤添加多个URL方案。

通过添加以下代码在info.plist文件中添加URL方案。 (单击info.plist文件右键单击并打开作为源代码。)

<key>CFBundleURLTypes</key>
<array>
    <dict>
        <key>CFBundleTypeRole</key>
        <string>Editor</string>
        <key>CFBundleURLSchemes</key>
        <array>
            <string>one</string>
            <string>two</string>
        </array>
    </dict>
</array>

enter image description here