当前位置: 首页 > 知识库问答 >
问题:

Android应用程序索引-深度链接的网址与GET params如www.abc.com?parameter=value

孟光耀
2023-03-14

我正在创建一个意图过滤器,以便在我的应用程序URL中进行过滤,如https://www.hotelsclick.com/?hotel_id=135738

我在文档中看到,我应该创建一个意图过滤器,比如

 <intent-filter android:label="@string/filter_title_viewgizmos">
     <action android:name="android.intent.action.VIEW" />
     <!-- Accepts URIs that begin with "http://example.com/gizmos” -->
     <data android:scheme="http"
           android:host="example.com"
           android:pathPrefix="/gizmos" />
     <category android:name="android.intent.category.DEFAULT" />
     <category android:name="android.intent.category.BROWSABLE" />
 </intent-filter>

这个意图过滤器应该过滤URL,比如“http://example.com/gizmos?1234, http://example.com/gizmos/1234, http://example.com/gizmos/toys/1234"

这很好,但是...我的网址不同,就像http://example.com?toys=1234,因为它在主页上有一个名为GET的参数,hotel_id。

我如何过滤这样的URL?意向过滤器定义中是否还有其他参数

编辑:我在清单中放置了以下意图过滤器。xml

        <intent-filter android:label="@string/app_name">
            <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="hotelsclick.com" />
            <data android:scheme="http"
                android:host="hotelsclick.com" />
        </intent-filter>

我可以通过提供ADB命令来打开应用程序

adb shell am start——一款Android系统。意图行动视图-d“http://hotelsclick.com?hotel_id=135738“com.towers.hotels点击

但是它不能从深度链接工具自生成的页面中工作:https://developers.google.com/app-indexing/webmasters/test?hl=it

我在编辑文本中输入了以下URI:“android”-app://com.towers.hotelsclick/hotelsclick.com?hotel_id=135738“我得到了这一页:https://applinktest.appspot.com/app-link.html?url=android-app://com.towers.hotelsclick/hotelsclick.com?hotel_id=135738

正如你所看到的,页面中的链接是意图://#意图;计划=hotelsclick.com?hotel_id=135738;包=com.towers.hotelsclick;结束,我本以为这个意图链接会在我之前使用adb命令的手机上点击手机时由应用程序本身打开。但是它不起作用,直接把我带到谷歌游戏商店,建议从那里打开应用程序

所以,既然我可以通过ADB让意向过滤器工作,但没有一个合适的链接,我能说我成功了吗?

谢谢你

共有1个答案

贡和裕
2023-03-14

生成的链接无效。应该是的

intent://hotelsclick.com?hotel_id=135738#Intent超文本传输协议com.towers.hotelsclick

而不是

intent://#intent;scheme=hotelclick。通用域名格式?酒店id=135738;package=com。塔。hotelsclick;结束

 类似资料:
  • 我正在实施应用程序索引,我想我遗漏了一些东西,但我不知道是什么。 按照指南,我在应用程序中添加了我的意图过滤器,并实现了活动中需要的内容。 我的应用程序包是com。塔。hotelsclick和相关网站(由于我只是测试,我还没有在那里放置link rel meta标签)是www.hotelsclick。通用域名格式 我在指南中看到了下面的意图过滤器示例 所以我这样写我的: 另外,我写了一个内容提供程

  • 我正在实现Android深度链接的概念,它工作正常,我的问题是,如果应用程序没有安装在手机上,我想将链接重定向到我的play store应用程序页面。 请引导我找到它,谢谢。

  • 我想创建一个深层链接,当用户按下一个共享按钮,我分享这样的链接-(例如网址)https://www.myapp.com/Home_page(我已经购买了一个域,我的应用程序也可以在播放商店),并希望当用户点击此链接时,他们应该重定向到我的应用程序的Home_page活动,但当我点击页面未找到显示。 我的舱单代码是:- 现在我不明白该怎么办

  • 因此,我试图找出是否有可能深度链接当前未安装该应用程序的用户。以下是我试图做的:1)用户在移动浏览器中点击网站上的深度链接。2) 用户将被带到应用商店安装应用3)一旦安装,用户将被带到应用中特定内容的深层链接。 到目前为止,我发现的最接近Android应用程序安装横幅的东西,但这并不是我想要的。这可能吗? 以下是页面底部附近Android应用安装横幅的链接:https://medium.com/@

  • 我有一个网站可以让用户进行搜索查询。查询可能需要一些时间来完成(几分钟到几天),我想让用户下载一个Android应用程序,并通过向用户发送一封带有链接的电子邮件来收到答案。 我希望无论用户是否安装了应用程序,这种机制都能起作用;换句话说: 如果用户拥有该应用程序,则应该使用包含标识符参数的深层链接打开该应用程序。 如果用户没有它,它应该在应用程序的页面上打开播放商店(例如

  • 我想为我的cordova android应用程序启用应用程序索引,如下所述:https://developers.google.com/app-indexing/webmasters/app 不幸的是,我找不到留档如何做一个科尔多瓦的应用程序。有一个插件收听和广播意向,但我不认为这将帮助我在这种情况下:https://github.com/Initsogar/cordova-webintent 我