向科尔多瓦应用程序添加深层链接
Posted
技术标签:
【中文标题】向科尔多瓦应用程序添加深层链接【英文标题】:Add deep linking to cordova app 【发布时间】:2015-06-28 20:16:09 【问题描述】:我想为我的 cordova android 应用启用 App Indexing,如下所述:https://developers.google.com/app-indexing/webmasters/app
不幸的是,我找不到如何为 cordova 应用程序执行此操作的文档。 有一个插件可以监听和广播到 Intents,但我认为在这种情况下这对我没有帮助:https://github.com/Initsogar/cordova-webintent
我尝试将示例 XML(使用我的数据修改)添加到 config.xml 文件,但是当我尝试构建应用程序时,我收到以下错误:
error: Error parsing XML: unbound prefix
删除 XML 中的 android: 前缀后,此错误消失,但它不起作用。
【问题讨论】:
Phonegap Build有一个方法可以在最终的AndroidManifest.xml中添加XML元素,叫做gap:config-file
docs.build.phonegap.com/en_US/…
这个问题与开发列表上的讨论有关吗? callback.markmail.org/thread/e6fkurnkisekwgmu
是的,看起来像我认为这个插件可能会有所帮助:github.com/nordnet/cordova-universal-links-plugin
@Riesling,你试过那个插件吗?如果有效,您可以回答自己的问题,让人们更容易看到它(这个问题的评价很高)。
How to provide and handle deep links in cordova / phonegap applications的可能重复
【参考方案1】:
我之前研究过这个问题,Google App Indexing 和 Cordova 应用程序存在一些问题。由于根据设计,Cordova 在单个 Web 视图中工作,因此没有太多要索引的内容 - App Indexing 功能只会想知道您为什么一直停留在一个视图中。
有人需要为此实现一个插件来模拟所有视图,而您仍然需要从 javascript 进行一些调用。 Android 根本不知道应用程序在 Web 视图后面的结构。
添加一些 Intent 可能会有所帮助,这样您的应用程序就可以响应您网站上的某些链接或电子邮件或网络浏览器中的链接而启动,这些链接具有特殊的 yourapp:// 协议。但我不确定谷歌是否会将 InAppBroser 中的内容编入索引。
我正在使用这个插件来获取url打开功能https://github.com/EddyVerbruggen/Custom-URL-scheme
我自己正在寻找解决方案,所以如果其他人有更好的答案,我很乐意投票。
【讨论】:
在我的情况下,我在 inappbrowser 中加载了一个移动网站(该应用程序只是一个包装器,用于添加一些附加功能,如推送通知),因此我没有这个问题。【参考方案2】:有了这个插件,我成功实现了:
https://github.com/nordnet/cordova-universal-links-plugin
您需要将其添加到您的项目中,然后通过配置文件中的<link rel="alternate" href="" />
元素配置您的站点。然后,您可以向应该被索引的站点添加一些额外的标记,以帮助 Google 找到正确的链接。文档很好。
【讨论】:
【参考方案3】:为它写了一个小插件:https://github.com/eneskaya/google-app-indexing-cordova
尽管如此,第一步仍然是启用与您的应用的深层链接!我推荐https://github.com/EddyVerbruggen/Custom-URL-scheme
玩得开心! 恩斯
【讨论】:
【参考方案4】:cordova-plugin-firebase-appindexing 插件有助于在 google 中为您的应用编制索引。
您可以使用here 中提到的元标记来索引应用页面。
插件有助于在 Android 应用程序的谷歌搜索应用程序中搜索您的应用程序页面。如果您搜索应用页面,它会自动完成,点击搜索结果会直接进入您的应用页面。
https://www.npmjs.com/package/cordova-plugin-firebase-appindexing
【讨论】:
以上是关于向科尔多瓦应用程序添加深层链接的主要内容,如果未能解决你的问题,请参考以下文章
如何避免在cordova android应用程序上处理两次深层链接?