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

问题描述 投票:0回答:3

我正在通过此链接将深层链接添加到我的Expo应用程序,但找不到任何文档来添加多个方案。是否可以在 Expo App 中添加多个方案而不弹出它?

android ios react-native expo deep-linking
3个回答
3
投票

您可以通过配置

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

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

{
    ...
    "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的深度链接文档中找到有关该过程的详细信息。


0
投票

{
  "expo": {
    "ios": {
      ...
      "infoPlist": {
        "CFBundleURLTypes": [
          {
            "CFBundleURLSchemes": ["com.googleusercontent.apps.xxx"]
          }
        ]
      }
    }
  }
}

-1
投票

对于 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>

© www.soinside.com 2019 - 2024. All rights reserved.