0

谷歌的官方文档说 actions.intent.OPEN_APP_FEATURE 只支持设置为“{@url}”的 urlTemplate 没有后备实现。

以下是他们的 actions.xml 示例代码:

  <?xml version="1.0" encoding="utf-8"?>
  <!-- This is a sample actions.xml -->
  <actions>
    <action intentName="actions.intent.OPEN_APP_FEATURE">
      <!-- Use url from inventory match for deep link fulfillment -->
      <fulfillment urlTemplate="{@url}" />


      <!-- Define parameters with inventories here -->
      <parameter name="feature">
        <entity-set-reference entitySetId="featureParamEntitySet"/>
      </parameter>
    </action>

    <entity-set entitySetId="featureParamEntitySet">
      <!-- Provide a URL per entity -->
      <entity url="myapp://deeplink/one" name="featureParam_one" alternateName="@array/featureParam_one_synonyms"/>
      <entity url="myapp://deeplink/two" name="featureParam_two" alternateName="@array/featureParam_two_synonyms"/>
    </entity-set>
  </actions>

这意味着我可以说“从 myapp 打开 featureParam_two”以使用深层链接“myapp://deeplink/two”启动应用程序。

如果应用程序有用户定义的名称,例如“前门”、“第一间浴室”,如何将这些名称传递给应用程序以允许用户说“从我的应用程序打开前门”或“从我的应用程序打开第一间浴室”来打开应用程序和相应的功能?

4

1 回答 1

0

您可以使用替代名称/同义词来定义这些功能。

例如,您可以使用以下定义:

<entity-set entitySetId="featureParamEntitySet">
      <!-- Provide a URL per entity -->
      <entity url="myapp://deeplink/front-door" name="front door" alternateName="@array/front-door-synonyms"/>
      <entity url="myapp://deeplink/two" name="first bathrooms" alternateName="@array/first-bathroom-synonyms"/>
</entity-set>
于 2020-12-08T06:11:14.653 回答