28

我有一个包含免费和收费产品的应用程序,我需要为我的应用程序创建两个 APK,并在支持它的国家/地区显示支持 In-App Billing 的应用程序,并显示不支持 In-App 的同一应用程序的另一个 APK -在不支持它的国家/地区的应用计费(它只有免费产品)。

我可以使用 Android Market 多 APK 支持功能来实现这一点吗?如果没有,除了创建两个单独的应用程序之外,还有其他可行的建议吗?

4

3 回答 3

24

多个 APK 功能 AFAIK 至少在当前版本中不支持过滤国家/地区。查看多个 APK支持的过滤器规则以了解更多详细信息。

无论如何,如果您要构建两个 apk。将它们发布为两个独立的应用程序(您可以在开发者控制台中为每个应用程序设置不同的可用国家/地区)要简单得多且易于维护,而不是使用多 APK 功能(甚至说它在未来版本中支持过滤国家/地区)。人们用来避免重复代码的一种正常方法是使用 Android 库项目。

如果您只想为所有情况构建和发布单个 apk。一个可行的解决方案是在项目资源中维护一个受支持的国家/地区列表,并添加一些条件分支以根据国家/地区列表启用/禁用应用内计费代码,并在运行时通过一些 UI 警告确认用户,例如:

if (isInSupportedCountryList()) {
  setInAppBillingOn();
} else {
  setInAppBillingOff();
}

如您所见,每次新的国家/地区支持或被 Google 删除时,这需要(甚至没有必要)更新/重新发布。

于 2012-12-03T22:00:42.313 回答
5

我认为最简单的方法是只上传两个单独的应用程序,然后使用“发布选项”来选择您希望拥有每个版本的国家/地区。然后,您可以基于“每个国家/地区”添加和删除任一应用程序。

在此处输入图像描述

于 2012-12-03T20:02:06.273 回答
-5

您可以通过本地化您的应用程序来实现这一点。检查这个

于 2011-10-09T14:01:53.173 回答