【问题标题】:Application links from email opening in Gmail embedded browser instead of launching my app在 Gmail 嵌入式浏览器中打开电子邮件的应用程序链接,而不是启动我的应用程序
【发布时间】:2021-11-25 06:26:31
【问题描述】:

我们正在开发一个全新的应用程序,并且与您在注册​​帐户期间的许多应用程序一样,您将收到一封电子邮件,其中包含一个激活按钮。

按钮后面的链接类似于https://links.mydomain.dev/activate/somecodeorso。该应用程序被配置为拦截来自https://links.mydomain.dev 的所有 URL。如果我们在点击时在聊天应用程序中传递此链接,它会要求打开我们的应用程序或在浏览器中打开。

但是,在 Android 上,我们主要使用 Gmail 帐户进行测试,并且从 GMail 中启动嵌入式浏览器,并在其中打开我们的链接,并打开“后备”页面,我们将在该页面上重定向您的游戏或应用商店。 所以我知道我的应用程序已正确配置为拦截 URL。所以问题与应用无关。

我也知道,在 GMail 中我可以禁用嵌入式浏览器,但这对我来说是不正常的,我们的许多潜在用户将拥有未修改的标志,当然我们也不能要求他们切换此设置。 但是在同一台设备上,我测试了其他服务(例如,我测试的最后一个服务是 Tricount),他们的电子邮件后面都有常规 URL,但不是启动嵌入式浏览器,而是要求打开应用程序或常规浏览器。

所以现在问题不在了,我做错了什么。我应该做些什么特别的事情来使链接在应用程序中打开(或者至少让操作系统问我如何处理它)?

任何帮助将不胜感激!

【问题讨论】:

  • “我做错了什么” - 将您的清单与那些按照您想要的方式运行的应用程序进行比较,看看有什么区别。 This app 可让您检查其他已安装应用的清单。

标签: android url android-intent gmail


【解决方案1】:

感谢@CommonsWare,我开始研究其他一些 APK,发现了一些差异。

其中一个区别在于查询块内部:

        <!-- If your app opens https URLs -->
        <intent>
            <action android:name="android.intent.action.VIEW" />
            <data android:scheme="https" />
        </intent>

        <intent>
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.BROWSABLE" />
            <data android:scheme="https" />
        </intent>
    </queries>

我只有 VIEW 一个,而不是与 BROWSABLE 结合的那个。然而,这似乎没有必要。

但诀窍是我的 URL 的意图过滤器:

            <intent-filter android:autoVerify="true">
                <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="mydomain.com" />
                <data android:scheme="http" android:host="mydomain.com" />
            </intent-filter>

我只有https 行,因为我将使用正确的 https 网址生成所有电子邮件。但是添加 http 方案修复了它。 Gmail 现在让我可以先选择我的应用!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-27
    • 1970-01-01
    • 1970-01-01
    • 2021-12-06
    • 1970-01-01
    • 2012-07-01
    相关资源
    最近更新 更多