有限企业受众的Android应用程序

时间:2014-12-31 08:58:46

标签: android deployment google-play

这是App for limited or restricted audience

的Android版本

项目

我将为我们的客户启动一个全新项目,该项目将部署到我们客户的供应商以跟踪现场活动。我对Java / Android开发非常熟练,因此这个问题关于部署。

拥有与提供的设备

我们的客户将向供应商提供Samsung Galaxy Ace 4设备,或者允许供应商使用他们自己的Android 4智能手机,而无需我们的保修。我们的客户目前正在设置Google for Business组织,但我们不能依赖于此(请参阅部分答案)。

技术(非功能)要求

  • 能够轻松地在企业用户之间分发应用程序更新。
  • 应该对公众不可见
  • 应用程序必须能够发送崩溃报告,以便我们的团队可以检查和调查

问题是

鉴于上述“ 不应公开”声明,部署仅针对企业用户的Android应用程序的最有效和最有效的方法是什么? 我将在下面发布部分答案。我要求其他人用其他可能的方法来丰富它,包括使用我没有经验的Alpha / beta频道

2 个答案:

答案 0 :(得分:1)

目前,有限受众群体的Android应用程序可以像这样部署:

在Google Play上发布为公众免费应用

可能会对我们的国家/地区添加限制

优点:

  • 最简单,记录良好
  • 一旦没有强制执行新权限,就会自动部署更新
  • 在信息中心收集崩溃报告

缺点:

  • 每个人都可以下载该应用
    • 这样做的缺点是,某些组织可能不高兴,因为在某些情况下公开可用的代码可能有助于利用远程系统上的漏洞(但如果应用程序编写得很好并且模糊不清,那几乎是不可能的)
  • 如果强制实施国家/地区限制,则导入的设备不会下载

分发APK直接网址

优点:

  • 该应用仍然是私密的(企业用户肯定不会将应用重新分发给朋友,因为没有企业凭据就没有用)

缺点:

  • 除非实施第三方库,否则不会发生崩溃报告
  • 除非由自定义代码或第三方库实现,否则不会自动更新。实施自动更新可防止该应用在将来发布到Google Play,即使是在私人频道,因为播放禁止通过第三方渠道自动更新自己的应用。或者,确切地说,自动更新功能和Play发布需要,以便共存,维护两个APK

Google Play for Enterprise

正如this link所述,Google Play为拥有Google for Business组织的用户提供了部署应用的私有渠道。对于组织用户必须使用的应用程序,这是 完美的方法

优点:

  • 与公开发布相同(简单,自动更新,崩溃报告)
  • 仅限受限制的观众

缺点:

  • 每个设备都必须在组织内部附带一个Google帐户,[请求系统管理员为我们的目标组织中的每个外部供应商启用Google帐户在经济上是不可行的

永久在Alpha / Beta中

我还没有对此进行测试,因为它也非常棘手。基本上,它涉及使用testing mode而无需进行生产。使用Google Play,可以将工件部署到Alpha(例如测试服务器环境)和Beta(指向生产服务器环境的技巧),而不需要 将应用程序移至Google Play的制作阶段。

所有要求设置特殊审核的Google+群组

潜在优势:

  • 与发布到企业相同

缺点:

  • 仅告知用户订阅Google+并加入社区

答案 1 :(得分:1)

根据您的要求,我建议通过直接网址分发APK,并集成HockeyApp等服务(有关详情,请参阅Android SDK)以管理两者崩溃报告和应用更新。

  • “能够轻松地跨企业用户分发应用程序和更新”

    许多服务允许将.apk个文件直接上传到其服务进行部署。然后为该构建生成直接下载链接。

    如果该应用实施了该服务提供的Android SDK,则会收集崩溃信息并自动显示更新

  • “公众无法看到应用程序”

    HockeyApp等服务不会公开宣传直接下载链接。因此,可以根据需要分发此链接。

  • “应用程序必须能够发送崩溃报告,以便我们的团队可以检查和调查”

    完整堆栈跟踪和设备信息与崩溃报告一起发送,并可由技术人员在线查看。

根据我的经验,有一些优点和缺点:

  • <强>赞成

    • 应用程序分发非常简单,就像访问网站一样简单。
    • 错误报告与通过Google Play收到的报告相似
  • <强>缺点

    • 不会自动发送崩溃报告,也不会自动更新

      默认情况下,更新和崩溃显示为系统对话框,提示用户发送崩溃报告/更新应用取消。理想情况下,不需要用户交互来执行所需的操作。我确信这是可能的,但没有找到相关的文件。

    • 成本。这些服务不是免费的。
    • 如果上传到Play商店
    • ,则需要从应用中删除服务SDK