面向有限企业用户的Android应用程序

面向有限企业用户的Android应用程序,android,deployment,google-play,Android,Deployment,Google Play,这是Android版本的 项目 我将为我们的一个客户启动一个全新的项目,该项目将部署到我们客户的供应商,以跟踪现场活动。我在Java/Android开发方面有足够的技能,所以这个问题只与部署有关 拥有与提供的设备 我们的客户将向供应商提供三星Galaxy Ace 4设备,或允许供应商使用自己的安卓4智能手机,无需我们提供担保。我们的客户目前已经建立了Google for Business组织,但我们不能依赖它(参见部分答案) 技术(非功能)要求 能够在企业用户之间轻松分发应用程序和更新 应用程

这是Android版本的

项目 我将为我们的一个客户启动一个全新的项目,该项目将部署到我们客户的供应商,以跟踪现场活动。我在Java/Android开发方面有足够的技能,所以这个问题只与部署有关

拥有与提供的设备 我们的客户将向供应商提供
三星Galaxy Ace 4
设备,或允许供应商使用自己的安卓4智能手机,无需我们提供担保。我们的客户目前已经建立了Google for Business组织,但我们不能依赖它(参见部分答案)

技术(非功能)要求
  • 能够在企业用户之间轻松分发应用程序和更新
  • 应用程序不应对公众可见
  • 应用程序必须能够发送崩溃报告,以便我们的团队能够检查和调查
问题是 鉴于上述“公众不应看到”的说法,部署仅面向企业用户的Android应用程序的最有效方法是什么?
我将在下面发布部分答案。我正在要求其他人用其他可能的方法来丰富它,包括使用Alpha/beta频道,而我对这方面没有经验目前,有限的受众Android应用程序可以这样部署:

在Google Play上发布免费应用程序 也许给我们的国家增加一个限制

优点:

  • 最简单且记录良好
  • 在未强制执行新权限时自动部署更新
  • 在仪表板上收集碰撞报告
缺点:

  • 每个人都可以下载这个应用程序
    • 这有一个缺点,即一些组织可能不高兴,因为公开可用的代码在某些情况下可能有助于利用远程系统上的漏洞(但如果应用程序编写得很好并且混淆不清,这几乎是不可能的)
  • 如果强制实施国家/地区限制,导入的设备将无法下载
分发APK直接URL 优点:

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

  • 除非实现第三方库,否则不会出现崩溃报告
  • 除非由自定义代码或第三方库实现,否则不会自动更新。实现自动更新可以防止应用程序将来发布到Google Play,即使是在私人渠道上,因为Play禁止通过第三方渠道自动更新自己的应用程序。或者,准确地说,自动更新功能和播放发布需要维护两个APK才能同时存在
谷歌为企业服务 如前所述,Google Play为使用Google for Business组织的用户提供了应用程序部署的专用渠道。这是组织用户必须使用的应用程序的完美方法

优点:

  • 与面向公众发布相同(简单、自动更新、崩溃报告)
  • 仅对受限观众可见
缺点:

  • 每个设备都必须在组织内配备一个Google帐户,并且[请求系统管理员]为我们目标组织中的每个外部供应商启用Google帐户在经济上是不可行的
永久处于Alpha/Beta状态 我还没有测试过这个,因为它也很棘手。基本上,它涉及到在不投入生产的情况下使用。使用Google Play,您可以将工件部署到Alpha(例如测试服务器环境)和Beta(指向生产服务器环境的技巧)中,而无需将应用程序移动到Google Play的生产阶段

所有这些都需要建立特别的谷歌+团体

潜在优势:

  • 与向企业发布相同
缺点:

  • 只告诉用户订阅Google+并加入社区

根据您的要求,我建议通过直接URL分发APK,并集成诸如HockeyApp之类的服务(有关更多信息,请参见其网站)来管理崩溃报告和应用程序更新

  • “能够在企业用户之间轻松分发应用程序和更新”

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

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

  • “应用程序不应对公众可见”

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

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

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

根据我的经验,有几个优点和缺点:

  • 专业人士

    • 应用程序分发非常简单,就像访问网站一样简单
    • Bug报告与通过Google Play收到的报告相当
  • 缺点

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

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

    • 成本。这些