因此applinks文档指出您应该通过al:android:package
属性指定应用程序的包名称,并且使用应用程序应启动Intent来启动您的应用程序。我觉得文档中缺少的是关于如何使用该Intent提供自定义参数或路由信息的建议或规范。除非你指定一些深度,否则它不是深层链接!
它确实指定了如何通过使用al_applink_data
结构来提供Extras。但是,它并未说明目标应用程序应如何为客户端提供元数据以供该服务器使用和发送。
我能想到的唯一建议是通过可选的al:android:url
- 参数提供元数据。因此,例如,如果我正在运行博客,我会提供URL com.myblog://123
,“123”作为博客条目的ID。
我觉得这不是一个最佳解决方案。然后我必须解析URL以获得参数。我觉得更好的解决方案是拥有一个名为al:android:extras
的applink属性,我可以直接使用键值对。为什么没有这样实现?
如果我按照我描述的方式实现元数据传递,我是否正确行事?关于applinks规范,我有什么遗漏吗?
答案 0 :(得分:1)
原始的http(s)url是在target_url键下的al_applink_data中提供给你的,因此你当然可以通过这种方式传递元数据。
通过可选的al:android:url传递它也没关系。
最后,如果你有来自调用应用程序的合作,他们当然可以通过extras blob将数据传递给你。
没有al:android:extras的原因是应用程序链接被设计为路由协议,而不是为您的应用程序描述语义。