【发布时间】:2014-09-12 08:43:13
【问题描述】:
所以applinks 文档指出您应该通过al:android:package 属性指定应用程序的包名称,并且消费应用程序应该启动一个Intent 来启动您的应用程序。我觉得文档中缺少的是关于如何使用该 Intent 提供自定义参数或路由信息的建议或规范。这不是深度链接,除非你指定一些深度!
它确实指定了如何通过使用 al_applink_data 结构来提供 Extras。但是,它没有说明目标应用程序应如何提供元数据以供客户端使用该结构进行消费和发送。
我能想到的唯一建议是通过可选的al:android:url-参数提供元数据。例如,如果我正在运行一个博客,我会提供 URL com.myblog://123,“123”是博客条目的 ID。
我不认为这是一个最佳解决方案。然后我必须解析 URL 才能得到参数。我觉得更好的解决方案是有一个 applink-property 命名为 al:android:extras 之类的东西,我可以在其中提供键值对以直接使用。为什么不这样实现?
如果我按照我描述的方式实现元数据传递,我做得对吗?关于 applinks 规范,我有什么遗漏吗?
【问题讨论】:
-
原始的 http(s) url 是在 target_url 键下的 al_applink_data 中给你的,所以你当然可以通过这种方式传递元数据。通过可选的 al:android:url 传递它也可以,最后,如果你有调用应用程序的合作,他们当然可以通过额外的 blob 传递数据给你。没有 al:android:extras 的原因是应用链接被设计为路由协议,而不是描述应用的语义。
-
很公平。如果您发表评论作为答案,我会接受。