单击链接时未启动 InstantApp

Posted

技术标签:

【中文标题】单击链接时未启动 InstantApp【英文标题】:InstantApp not being launched when clicking on link 【发布时间】:2021-01-02 02:25:26 【问题描述】:

我的测试应用在 Google Play(alpha)的封闭测试轨道中发布 - 但我也尝试过内部测试,结果相同。

修复缺少的默认 URL 后,它已经显示了“立即尝试”按钮。 assetlinks.json 放置在我的服务器上的正确位置。 App Links Assistant 进程已完全配置。

我还不能公开发布我的应用。

我的免安装应用链接如下所示:https://my.host/my/path?paramA=1

在我的 Instant 模块清单中,我声明:

            <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="http"
                    android:host="my.host"
                    android:pathPrefix="/my/path"/>
                <data
                    android:scheme="https"/>
            </intent-filter>
            <meta-data
                android:name="default-url"
                android:value="https://my.host/my/path" />

我已按照 google play 的选择加入成为我自己的应用的测试人员。

我相当有信心我已正确集成它,因为:

如果我从 Google Play 页面点击 try now,我的即时应用程序将打开(Android 会将其保存在缓存中)。如果我随后打开链接(例如来自电子邮件),它可以正常工作:按照我的预期打开即时体验(可能是因为它在缓存中)。

如果我安装了完整的应用程序,打开链接可以正常工作:打开应用程序应该去的地方。

但是...

如果我从未打开即时应用(从设备上的缓存中删除)也未安装应用,打开链接不会将我带到即时应用(应该从 GooglePlay 加载即时应用,因为您没有它)而是将我带到网站。

是否有人知道或知道official doc 中未提及的任何其他步骤?

InstantApps 版本com.google.android.gms:play-services-instantapps:17:0.0

额外信息,Google Play 上的免安装应用选项已打开,我已经尝试关闭并重新打开。

如果您认为我遗漏了重要细节,请评论我的问题,我会尝试添加它们

谢谢。

【问题讨论】:

由于是一个测试应用程序不公开可用,因为我提到的是“在 Alpha 上发布”所以在 GooglePlay 上但仅适用于我。测试仪。我正在使用版本“com.google.android.gms:play-services-instantapps:17:0.0” 我没有额外的信息要添加,因为问题不是要调试的问题,不是代码问题,而是使其工作所需的步骤。我已经遵循了许多关于 InstantApps 的教程和指南,并且基础知识都可以正常工作。此功能(从没有您的应用程序的手机单击链接并启动 InstantApp)我在这些教程中找不到,所以我相信某处缺少步骤。甚至是我在 Google 教程中没有列出的教程中找到的基本步骤。 链接可以在任何地方,在电子邮件中,在网站上,有人可以在聊天中发送。是一个 https 网址。是一个简单的 url,如“myinstantapp.com/testlink”(这不是真正的 url),正如我提到的,我遵循了 App Links Assistant 流程并获得了设置。 喜欢这个 (https://www.myinstantapp.com/testlink)? @blackapps 我已编辑问题以解决您的一些问题,您是否认为缺少其他一些重要信息? 【参考方案1】:

在寻找答案时,我试图从应用程序的开发人员那里找到一些我发现此功能有效的东西。我找到了this article,我注意到与我所做的只有两个不同:

    android:order="1",我从来没有使用过,所以我看看有什么作用,据我所知,如果有多个应用程序可以访问的深层链接,这可以给你的“优先级”。默认值为 0。

    android:pathPattern="/item/.*" 我最后在没有 .* 的情况下使用了“android:pathPrefix”。由于我的 url 也有参数,所以我决定尝试这个修改。

我注意到的一件事是,即使在发布之后,它也不能立即工作,因为我有一个周末,当我周一尝试工作时,显然还有一些来自 GooglePlay 的索引时间。

我的测试应用正在进行内部测试并且正在运行。

【讨论】:

感谢您提供此信息。我有同样的问题。我会尝试 android:order 和 pathPattern 看看它是否有帮助。顺便说一句,您在 Google Play 上也有 TRY NOW 按钮吗? 实际上,就我而言,它与任何这些都无关。 Play Console(新的)不允许发布即时应用程序(截至目前)。我们不得不在 Classic Console 上单独发布它(他们说仅在 2020 年 11 月 2 日之前可用。所以,我相信他们会有一些新的方式来发布具有所有功能的应用程序包)。更多信息***.com/questions/62890092/…【参考方案2】:

我遇到了同样的问题,这是因为我的应用程序标签中没有android:targetSandboxVersion="2"

【讨论】:

这并没有提供问题的答案。一旦你有足够的reputation,你就可以comment on any post;相反,provide answers that don't require clarification from the asker。 - From Review

以上是关于单击链接时未启动 InstantApp的主要内容,如果未能解决你的问题,请参考以下文章

来自单击的链接时未加载 PHP Cookie

通过单击应用程序图标直接启动应用程序时未收到推送通知数据

Laravel 5.4 - 单击电子邮件中的验证链接时未传递或发送电子邮件验证令牌令牌。

Laravel Response::download 不起作用,单击按钮时未下载 pdf 文件

单击 recyclerView 项目时未打开新片段

从深层链接启动应用程序时未调用 AppDelegate ContinueUserActivity,应归咎于 Firebase SDK