【问题标题】:How would you implement routing within an Activity for AppLinks?您将如何在 AppLinks 的 Activity 中实现路由?
【发布时间】: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 的原因是应用链接被设计为路由协议,而不是描述应用的语义。
  • 很公平。如果您发表评论作为答案,我会接受。

标签: android applinks


【解决方案1】:

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

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

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

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

【讨论】:

    猜你喜欢
    • 2019-02-09
    • 2019-12-19
    • 2010-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-22
    • 2015-10-17
    相关资源
    最近更新 更多