0

是否可以使用actions.intent.OPEN_APP_FEATURE内置的意图来处理两者actions.fulfillment.SLICE并为每个都actions.fulfillment.DEEPLINK使用不同entity-set的 s?feature只有当一个实现模式为参数指定一个实体集,而另一个实现模式没有指定参数时,我才能让它工作。我想要的是为 DEEPLINK 履行模式和履行模式指定FEATURE_ONEand 。FEATURE_TWOFEATURE_THREEFEATURE_FOURactions.fulfillment.SLICE

我希望有一种方法可以使这样的actions.xml工作:

    <action intentName="actions.intent.OPEN_APP_FEATURE">
        <parameter name="feature">
            <entity-set-reference entitySetId="FeatureEntitySet"/>
        </parameter>

         <parameter name="otherFeature"> <!-- Not allowed, needs to be `feature` -->
            <entity-set-reference entitySetId="SliceEntitySet" />
        </parameter>

        <fulfillment
            urlTemplate="http://www.myapp.com/other-feature{?deepLinkFeature}"
            fulfillmentMode="actions.fulfillment.DEEPLINK">
            <parameter-mapping
                intentParameter="feature"
                urlParameter="deepLinkFeature"
                required="true"
                entityMatchRequired="true" />
        </fulfillment>

        <!-- Slice provider -->
        <fulfillment
            fulfillmentMode="actions.fulfillment.SLICE"
            urlTemplate="content://com.myapp.slices.provider/whatever{?sliceFeature}">

             <parameter-mapping
                intentParameter="feature"
                urlParameter="sliceFeature"
                required="true"
                entityMatchRequired="true" />

        </fulfillment>

    </action>

    <entity-set entitySetId="FeatureEntitySet">
        <entity identifier="FEATURE_ONE" name="first feature" />
        <entity identifier="FEATURE_TWO" name="second feature" />
    </entity-set>

    <entity-set entitySetId="SliceEntitySet">
        <entity identifier="FEATURE_THREE" name="third feature" />
        <entity identifier="FEATURE_FOUR" name="fourth feature" />
    </entity-set>

主要问题似乎是仅<parameter name="feature">受支持,因此您只能指定单个实体集。我无法组合实体集,因为无法区分两种实现模式。

4

1 回答 1

0

从用户体验 (UX) 的角度来看,不建议和/或支持同时使用具有深度链接和切片实现模式的 OPEN_APP_FEATURE。因此,作为一般建议,争取在相同的履行模式下提供相同的体验。

于 2020-06-23T17:19:08.353 回答