使用 adb 进行深度链接,而不是在浏览器中

Deep linking working with adb, not in browser

我之前在我的应用程序中设置了深度 linking,并且运行良好。突然间它停止工作。我有以下清单...

<activity
    android:name=".MainActivity"
    android:launchMode="singleTask"
    android:label="@string/app_name"
    android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
    android:screenOrientation="portrait"
    android:windowSoftInputMode="adjustResize">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
    <intent-filter>
      <action android:name="android.intent.action.VIEW" />
      <category android:name="android.intent.category.DEFAULT" />
      <category android:name="android.intent.category.BROWSABLE" />
      <data android:scheme="https"
            android:host="www.giftwizit.com" />
    </intent-filter>
    <intent-filter>
      <action android:name="android.intent.action.VIEW" />
      <category android:name="android.intent.category.DEFAULT" />
      <category android:name="android.intent.category.BROWSABLE" />
      <data android:scheme="giftwi" android:host="Products" />
    </intent-filter>
  </activity>
  <activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />

当我尝试在 Chrome 甚至三星互联网等浏览器中加载 https://www.giftwizit.com 时,它只会加载 google 搜索页面。当我尝试 giftwi://Products.

时也会发生同样的情况

对我来说有趣的是当我 运行 adb 命令像... 一切都很好...启动器出现并询问我想用哪个应用程序打开 link。

现在我正在使用 app-auth,我知道它让我将此条目输入到 build.gradle 文件中,但我以前有过这个并且一切正常。

此片段来自 build.gradle 文件内的 defaultConfig,并且是 react-native-app-auth 文档所说的应该如此。我只是想我会尽可能透明地包含它。

希望在这方面得到一些帮助。我至少注意到另一个 post 几年前有人遇到过同样的问题,但没有收到任何答案。

在您的浏览器中 typing/pasting URL 时无法重定向的原因是 Chrome 浏览器本身的错误。但事实证明这是一项功能,也被其他一些浏览器采用

您可以检查错误 here,并查看状态:WontFix(已关闭)

现在根据他们的说法,这一切背后的原因,

If a user typing/pasting URL in browser then the user really want to go that URL, instead being redirected on a application

所以你的深度 linking 工作正常,最好的测试方法,分享 link 然后点击它

而且这种总是重定向也确实引起了问题,当用户由于重定向而无法访问网站时,您还可以检查错误报告here 由于这种总是重定向,状态是现在 已修复(关闭)