是否可以根据国家/地区提供多种APK支持?

时间:2011-10-09 11:48:46

标签: android in-app-purchase google-play in-app-billing

我有一个免费和定价产品的应用程序,我需要为我的应用程序创建两个APK,并在支持它的国家/地区显示支持应用内结算的应用程序,并显示另一个同一应用程序的APK t支持应用程序结算(只有免费产品)在不支持它的国家/地区。

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

3 个答案:

答案 0 :(得分:24)

多个APK功能AFAIK至少在当前版本中不支持过滤国家/地区。查看Supported filtersRules for multiple APKs了解详情。

无论如何你打算建两个apks。将它们作为两个独立的应用程序(可以在开发人员控制台中为每个应用程序设置不同的国家/地区)发布它们更加简单和易于维护,而不是使用多个APK功能(即使它支持在将来的版本中过滤国家/地区)。人们用来避免重复代码的正常方法是使用Android Library Project。

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

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

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

答案 1 :(得分:5)

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

enter image description here

答案 2 :(得分:-4)

您可以通过本地化您的应用程序来实现此目的。检查this