0

所以applinks文档声明你应该通过al:android:package属性指定你的应用程序的包名,并且消费应用程序应该启动一个 Intent 来启动你的应用程序。我觉得文档中缺少的是关于如何使用该 Intent 提供自定义参数或路由信息的建议或规范。除非您指定一些深度,否则它不是深度链接!

它确实指定了如何通过使用该al_applink_data结构来提供 Extras。然而,它并没有说明目标应用程序应该如何为客户端提供元数据以使用该结构进行消费和发送。

我能想到的唯一建议是通过可选的al:android:url-parameter 提供元数据。因此,例如,如果我正在运行博客,我会提供 URL com.myblog://123,“123”是博客条目的 ID。

我不觉得这是一个最佳解决方案。然后我必须解析 URL 才能得到参数。我觉得一个更好的解决方案是有一个 applink-property 命名为al:android:extras我可以直接使用键值对的地方。为什么不以这种方式实施?

如果我按照我描述的方式实现元数据传递,我做得对吗?关于 applinks 规范,我有什么遗漏吗?

4

1 回答 1

1

原始 http(s) url 在 target_url 键下的 al_applink_data 中提供给您,因此您当然可以通过这种方式传递元数据。

通过可选的 al:android:url 传递它也可以。

最后,如果您与调用应用程序合作,他们当然可以通过额外的 blob 将数据传递给您。

没有 al:android:extras 的原因是应用程序链接被设计为路由协议,而不是描述应用程序的语义。

于 2014-09-17T21:56:23.660 回答