我是否应该为一个 Android 应用程序安装多个免安装应用程序以避免 4 MB 的限制?

Should I have multiple Instant Apps for an Android App to avoid 4 MB limit?

我有一个具有多个功能的 Instant App,每个功能有 1 个深度链接入口点(功能彼此独立,但所有功能都使用的基本功能除外)。生成的免安装应用构建有 1 个 APK 用于基本功能,1 个 APK 用于每个包含的功能。

  1. 如果用户点击在一项功能中处理的深层链接 - 是下载所有功能还是仅下载相关功能?
  2. 来自 #1,如果只下载了相关功能,我如何在投入生产之前验证这一点?如果用户在使用具有功能#1 的即时应用程序时调用需要功能#2 的深层链接会发生什么 - 下载功能#2 时应用程序是否被阻止?
  3. 所有特征的总和是否需要在 4 MB 以内,或者该限制是针对一对一基础和一个特征模块的?
  4. 如果 4 MB 的限制是基础模块和所有功能模块的总和 - 我可以为每个功能模块设置多个免安装应用程序来绕过这个吗?查看 Play 控制台,我认为我们无法上传多个相同版本的免安装应用。

你是对的,免安装应用中的每个功能都有至少一个 Activity 作为该功能的入口点。

添加一些细节:

  1. 当用户请求免安装应用的功能时,他们只会收到 运行 该特定功能所需的代码,仅此而已 更少。
  2. 一个 activity 不能直接在一个 activity 即时应用程序;相反,它必须请求 URL 地址 对应于activity。您可以通过构建一个 意图(请求URL地址);打开feature2,你可以调用这个 来自 feature1.
  3. 对于具有多种功能的免安装应用,您必须添加尺寸 基本功能 APK 到单个功能 APK。两者的总大小 这些 APK 必须小于 4MB。
  4. 当用户请求免安装应用的一项功能时,他们会得到两个 feature APKs:对应的feature APK和base feature APK。如果同一用户在同一时刻请求另一个功能 应用程序,他们可能只收到功能 APK,因为他们有 已经下载了基本功能 APK。单个特征可以有 多个入口点活动。例如,一个特征可能有 用户在两个相关活动之间切换,其中每个 activity 有自己的 URL 地址。

    也可以参考Google 开发人员文档FAQs link.