【问题标题】:How to test instant app with multiple features如何测试具有多种功能的即时应用程序
【发布时间】:2018-03-05 16:40:42
【问题描述】:

我使用 Android Studio 3.0 Canary 1 制作了一个具有多种功能的即时应用程序。我在 Nexus 5X 模拟器上运行应用程序,它在从 Android Studio IDE 运行应用程序时只执行一个功能。

您知道我们如何测试这些多项功能吗?我的理解是,一旦应用程序在 Play 商店上线,那么当您点击链接时,Google Play 会根据应用程序链接找到可以打开链接的应用程序。

我的两个功能有不同的 url,因为我的 url 也不是我在 AndroidManifest.xml 中拥有的,而且应用程序也不是活的,那么我该如何测试?

我正处于开发阶段,当然它还没有部署到 Play 商店。如何测试 Instant Apps 的多个功能?

【问题讨论】:

标签: android android-instant-apps


【解决方案1】:
Feature1 中的

Activity1 无法直接调用Feature2 中的Activity2。为此,您必须向 Activity1 请求 Activity2URL address

一个活动不能直接在免安装应用中启动另一个活动;相反,它必须请求对应于该活动的 URL 地址。

所以要打开 activity2(feature2),您可以从 activity1(feature1)

调用它
Intent intent = new Intent(Intent.ACTION_VIEW,Uri.parse("https://yourdomain.com/activity2"));
intent.setPackage(getPackageName());
intent.addCategory(Intent.CATEGORY_BROWSABLE);
startActivity(intent);

通过这样做,您将调用 Feature2 的入口点,免安装应用将加载 Feature2

【讨论】:

    【解决方案2】:

    每个免安装应用只能拥有一项功能

    借助 Android Instant Apps,用户可以使用应用的单一功能,而无需安装该应用及其所有其他功能。当用户向免安装应用请求功能时,他们只会收到运行该特定功能所需的代码,不多也不少。用户使用完该功能后,系统可以处理该功能的代码。

    为了运行多个功能,您需要为每个功能设置一个唯一的 url。

    例如,如果你有两个特征,你可以这样做

    1. 位置查找器 - http://example.com/finder
    2. 附近的餐厅 - http://example.com/restaurants

    免安装应用中的每个功能都应至少有一个 Activity 作为该功能的入口点。入口点活动承载功能的 UI 并定义整体用户流。当用户在他们的设备上启动该功能时,入口点活动是他们首先看到的。一项功能可以有多个入口点活动,但它只需要一个。

    【讨论】:

    • 是的,我对两个功能有不同的 url,因为我的 url 也不是我在 AndroidManifest.xml 中拥有的,而且应用程序也不是实时的,那么我该如何测试?
    • 只测试一步一步?因此,据我了解,您获得了您的第一个功能,做您的事情,“关闭”即时应用程序以便系统处理它,然后您可以获得第二个功能并重复。你试过了吗?
    • @Nico 我试过了。它关闭了整个应用程序,而不是启动第二个功能。
    • @Williams 所以你在使用第一个功能后关闭了应用程序并让系统在启动第二个功能之前处理它?我从未尝试过,但这是目前我理解的唯一方法。如果您不处置第一个功能的应用程序,肯定不会起作用。
    • @Nico 我看到系统没有处理第一个功能
    猜你喜欢
    • 2015-06-05
    • 2017-03-26
    • 2022-01-08
    • 1970-01-01
    • 2011-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-29
    相关资源
    最近更新 更多