点击链接时不能启动InstantApp

8
我的测试应用程序已发布在Google Play的测试封闭轨道(alpha)中,但我也尝试了内部测试,结果相同。
修复缺失的默认URL后,它已经显示了“立即尝试”按钮。assetlinks.json放置在我服务器上的正确位置。应用链接助手进程已完全配置。
我还不能公开发布我的应用程序。
我的即时应用程序链接看起来像这样:https://my.host/my/path?paramA=1 在我的即时模块清单上,我声明:
            <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 Opt-in的步骤成为了自己应用程序的测试人员,我相当有信心已经正确地集成它,因为:
- 如果我从Google Play页面点击“立即尝试”,我的即时应用程序将会打开(并且Android会将其缓存)。如果我稍后再次打开链接(例如从邮件中),它能够正常工作:按照我的期望打开即时体验(可能是因为它在缓存中)。 - 如果我已经安装了完整的应用程序,打开链接也能够正常工作:打开应用程序并跳转到相应的位置。
但是...
- 如果我从未打开过即时应用程序(从设备缓存中删除),也没有安装该应用程序,则打开链接不会将我带到即时应用程序(应该从GooglePlay加载即时应用程序,因为你没有它),而是会将我带到网站。
是否有任何人有任何想法或了解任何官方文档中没有提到的其他步骤?
InstantApps版本com.google.android.gms:play-services-instantapps:17:0.0

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

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

谢谢。


像这样(https://www.myinstantapp.com/testlink)? - Avallone
请检查此链接是否至少与此包名称配合使用:https://play.google.com/store/apps/details?id=com.your.package&hl=en&launch=true - Torkel Velure
谢谢@TorkelVelure,但这不是我想要的Google Play链接。我想让我的网站链接在Android手机上触发InstantApp版本,如果不是,则仅在浏览器中显示网站。 - Avallone
我知道,但如果我发布的链接有效,那么你就可以确定至少有一个链接可以与该应用程序一起使用,并且它可以缩小调试范围 :) - Torkel Velure
@Avallone,你找到解决方案了吗? - SachinS
显示剩余6条评论
2个回答

3
在寻找答案时,我试图从我看到这个功能的应用程序的开发人员那里找到一些东西。我找到了这篇文章,并且我注意到与我所做的事情只有两个不同之处:
  1. android:order="1",我从未使用过,因此我查看了它的作用,据我所理解,在可以被多个应用程序访问的深链接的情况下,这可以为您的应用程序提供“优先权”。默认值为0。

  2. android:pathPattern="/item/.*" 我在我的应用程序中使用的是 "android:pathPrefix",但结尾没有 .* 。由于我的URL也具有参数,因此我决定尝试进行此修改。

  • 我注意到一件事情,即即使发布后,它也没有立即生效。当我在周一尝试时,经过一个周末后,它才开始工作,因此显然谷歌商店也需要一些索引时间。

我的测试应用程序正在内部测试中,并且正在运行。


谢谢这个信息。我也有同样的问题。我会尝试使用android:order和pathPattern来看看是否有帮助。顺便问一下,你在Google Play上也有一个“立即尝试”按钮吗? - andude
实际上,对于我的情况,这些都没有关系。Play Console(新版)目前不允许发布即时应用程序。我们不得不在Classic Console上单独发布它(他们说只有到2020年11月2日才可用)。因此,我相信他们会有一些新的方法来发布具有所有功能的应用程序包。更多信息请参见https://stackoverflow.com/questions/62890092/how-to-manage-instant-app-in-new-google-play-console。 - andude
我也一直在尝试通过点击短信或电子邮件中的URL来打开我的InstantApp,并通过路径模式或查询参数传递数据,就像您的URL中所示:https://my.host/my/path?paramA=1 - undefined

0

我曾经遇到过同样的问题,原因是我的应用标签中没有android:targetSandboxVersion="2"


这并没有回答问题。一旦您拥有足够的声望,您将能够评论任何帖子;相反,提供不需要询问者澄清的答案。- 来自审核 - tomerpacific

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接