【问题标题】:Android application for limited enterprise audience面向有限企业受众的 Android 应用程序
【发布时间】:2015-02-27 09:32:59
【问题描述】:

这是App for limited or restricted audience的Android版本

项目

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

自有设备与提供设备

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

技术(非功能性)要求

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

问题是

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

【问题讨论】:

  • 问题&提示:您可以使用其他应用商店,还是必须是 Google Play 商店?
  • 不,这不是必需的。你可以扩展,也许在答案中,有一个很好的例子? AFAIK 下载第三方应用商店仍然需要在每台设备上下载 APK,隐私/安全考虑可以与客户讨论
  • 在工作中,我们有不同的要求,我们使用自定义的第三方应用商店,但我们拥有所有使用它的设备。所以我只是认为它可能对你也有用。我不知道更多细节,所以我不能把它写成答案。

标签: android deployment google-play


【解决方案1】:

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

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

可能会限制我们的国家

优点:

  • 最简单且有据可查
  • 只要没有强制执行新权限,就会自动部署更新
  • 在仪表板上收集崩溃报告

缺点:

  • 每个人都可以下载应用程序
    • 这样做的缺点是某些组织可能不满意,因为公开可用的代码在某些情况下可能有助于利用远程系统上的漏洞(但如果应用程序编写良好且经过混淆处理,这几乎是不可能的)
  • 如果强制执行国家/地区限制,导入的设备将无法下载

分发 APK 直接 URL

优点:

  • 应用程序保持私有(企业用户肯定不会将应用程序重新分发给朋友,因为没有企业凭据就没有用)

缺点:

  • 除非实施第三方库,否则不会报告崩溃
  • 除非通过自定义代码或第三方库实现,否则不会自动更新。实施自动更新会阻止应用程序在未来发布到 Google Play,即使是在私人渠道上也是如此,因为 Play 禁止应用程序通过第三方渠道自动更新自身。或者,准确地说,自动更新功能和 Play 发布需要维护两个 APK 才能同时存在

Google Play 企业版

this link 中所述,Google Play 为使用 Google for Business 组织的用户部署应用提供了专用渠道。这是组织用户必须使用的应用程序的完美方法

优点:

  • 与公开发布相同(简单、自动更新、崩溃报告)
  • 仅对受限受众可见

缺点:

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

永久处于 Alpha/Beta 阶段

我还没有测试过这个,因为它也很棘手。基本上,它涉及使用testing mode 而无需投入生产。使用 Google Play,您可以将工件部署到 Alpha(例如测试服务器环境)和 Beta(指向生产服务器环境的技巧)中,而无需永远 将应用移至 Google Play 的生产阶段。

所有这些都需要设置经过审核的特殊 Google+ 群组

潜在优势:

  • 与发布到企业相同

缺点:

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

【讨论】:

  • 关于分发 APK 直接 URL 的劣势,您提到没有崩溃报告。但是,您可能应该提及,默认情况下 没有崩溃报告,除非您使用第三方库。有许多服务同时提供自动更新和/或崩溃报告管理。
  • 更新了答案。我必须扩展混合方法的自动更新部分。简而言之,来自第三方的自动更新将应用程序从发布到 Play 私人频道中排除。我必须考虑到这一点(我的问题是关于部署的有效性和效率)
【解决方案2】:

根据您的要求,我建议通过直接 URL 分发 APK 并集成诸如 HockeyApp 之类的服务(请参阅他们的 Android SDK 了解更多信息)来管理两者崩溃报告和应用更新。

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

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

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

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

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

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

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

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

  • 优点

    • 应用分发超级简单,就像访问一个网站一样简单。
    • 错误报告与通过 Google Play 收到的报告相当
  • 缺点

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-10
    • 2017-08-30
    • 1970-01-01
    • 1970-01-01
    • 2012-05-02
    相关资源
    最近更新 更多