如何仅针对已安装应用程序的用户在 Android Play 商店上发布应用程序?

Posted

技术标签:

【中文标题】如何仅针对已安装应用程序的用户在 Android Play 商店上发布应用程序?【英文标题】:How to publish an app on Android play store only for those users who already have the app installed? 【发布时间】:2018-10-03 11:24:51 【问题描述】:

我想在 Play 商店上发布一个私人应用程序。我的用例是我们将分发一些带有特定预安装应用程序的 android 设备。任何其他 Android 用户(尚未在设备上安装该应用程序)都不应看到此应用程序。我们将直接使用 APK 文件自行在 Android 设备上安装该应用程序。然后,这些用户应该能够在我们想要上传更新版本时从应用商店获取更新。但其他 Android 用户应该看不到该应用程序。只有那些安装了应用程序的用户才能看到它。我不能为私人应用程序使用企业电子邮件 ID 解决方案,因为这些用户将在设备上使用他们的个人 Gmail 帐户。 Beta测试解决方案由于其限制也不能使用。

【问题讨论】:

Play商店不支持你的要求 【参考方案1】:

我觉得没那么容易,特别是如果你只安装APK,用户可以卸载应用程序,然后再也不能得到它,你必须直接联系谷歌。

编辑:因为,您安装了一个 apk,您不必遵循 google-play 政策,并在应用程序内编写一个更新程序,它会自行更新

【讨论】:

如果用户卸载了应用,那么他可以联系我们获取APK。 既然你安装了一个apk,你就不必遵循谷歌的apk规则,并且在应用程序中编写一个更新程序,它会自行更新 我们也尝试过该解决方案。唯一的问题是应该启用“从未知来源安装应用程序”设置以支持它。我们只是在使用 google play store update infra 寻找更好的解决方案。【参考方案2】:

AFAIK Google Play 商店没有提供此类选项。唯一可能的方法是使用 InternalAlpha >仅测试版测试。 有关更多信息,请参阅链接here。除此之外,这是不可能的

【讨论】:

【参考方案3】:

注意 - 我不建议这样做,而且它太老套了,我不会在此基础上建立业务。但是……

选项 1

在 Play 商店中“未发布”的应用对于之前未安装过该应用的任何用户都是不可见的。但是仍然可以向已经拥有该应用程序的用户提供更新。见the documentation

因此,您可以非常简单地发布您的应用,在设备上安装,然后取消发布。在此之后,您可以使用 Play 发送更新。

需要注意的是,“现有用户”就是用户。不是设备。因此,任何安装了该应用的用户帐户都可以将其安装在另一台设备上,而不仅仅是已经安装了该应用的设备。

选项 2

如果您只担心其他用户安装它,而不是其他用户看到它,并且您可以控制设备的系统映像,那么您还有另一个选择。您可以在清单中添加 uses-feature 元素,例如:

<uses-feature
  android:name="a.very.unique.feature.name.that.only.my.devices.have"
  android:required="true"/>

然后确保该功能在您设备的 System rom 的可用功能中。这显然只有在您是制造商并为您的设备设置系统映像时才可用。它也不安全——任何拥有自定义 rom 的人都可以伪造这些功能。但这对你来说可能已经足够了。

您也可以将两者结合使用,这是手机制造商经常为仅在某些手机上可用的应用程序所做的事情。

【讨论】:

以上是关于如何仅针对已安装应用程序的用户在 Android Play 商店上发布应用程序?的主要内容,如果未能解决你的问题,请参考以下文章

我如何针对发布版本运行已连接的AndroidTest?

如何仅从 Google Photos 应用程序中选择图像? Android 谷歌照片意图

如何创建与每个已安装的 android 应用程序(在用户手机上)关联的活动(android 类)的列表(文件名、位置)?

Spring Boot 仅针对没有 thymeleaf 登录的用户显示注销按钮

如何在科尔多瓦 Android 应用程序中仅定位平板设备

Android:如何获取已安装活动的列表,就像它们出现在启动器中一样,没有重复