从我的网站下载 iOS 和 Android 应用程序?

Posted

技术标签:

【中文标题】从我的网站下载 iOS 和 Android 应用程序?【英文标题】:Download iOS and Android APPs from my website? 【发布时间】:2014-12-14 10:21:06 【问题描述】:

假设我已经使用 html5 和 phonegap 构建了一个 APP。

这个应用是一个内部应用,所以不需要应用商店并且苹果和安卓甚至都不知道这个应用的存在!

所以只有公司的员工才能下载应用程序并使用它。

我的问题是,是否可以让员工通过简单地给他们一个 URL 来从我的网站下载应用程序?

到目前为止,我发现的所有内容都提到了企业证书,但我不想使用任何证书,我什至不想使用 Apple 或 android,因为这是一个内部 APP。

任何帮助将不胜感激。

【问题讨论】:

【参考方案1】:

无论是否在内部,ios 应用程序都通过 Apple iTunes 或本地托管的企业数字版权管理系统分发。这样做的原因是为了控制安装的应用程序的质量,以及控制资金的流动。是的,我知道...这是一款免费的内部应用,但控制信息流对 Apple 来说价值数十亿美元。

以下是基本步骤: 1. 您的公司注册一个批量购买帐户(将公司标识为单个组织) 2. 您在 iTunes 上构建和发布应用程序并指定它是 B2B 应用程序,并列出可以“购买”它的人。 3. 贵公司“购买”该应用程序,然后允许与 VPA 关联的设备安装它。

更多信息在这里: http://www.apple.com/business/vpp/

Google 有一个类似的方法,称为 Android 应用的私有渠道。 http://www.techrepublic.com/blog/google-in-the-enterprise/deploy-private-android-apps-on-google-play/

这些方法的替代方法是将应用程序发布到某个文件服务器上,并提供有关如何像开发人员进行测试那样旁加载应用程序的说明。我不建议这样做,因为更新会很痛苦。

最后,如果您不需要离线运行应用程序或只需要像相机这样的原生功能,您可以随时在内部网络服务器上发布应用程序......并让用户“收藏”网址(这使它在启动时全屏运行)。

【讨论】:

加 1 以获得好答案 您不需要批量购买计划帐户,您需要开发者企业计划帐户【参考方案2】:

要使用 Android 设备打开 URL,您需要通过互联网 Intent

示例:

Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("YOUR URL"));
startActivity(browserIntent);

【讨论】:

不,我不需要在设备中打开 URL。我需要从 URL 安装 APP。 酷。您可以使用它来下载 apk 文件。您不能直接从 Internet 安装。您必须下载该文件。【参考方案3】:

iOS

在 iOS 上,如果不以 Apple 开发者身份参与并购买 developer license(每年 99 美元),这绝对是不可能的。

Apple 通过要求 任何 安装在 真实 iOS 设备上的应用程序非常注意安全性,无论是直接从 Xcode 处于 DEBUG 模式还是通过 PRODUCTIVE 模式em>Ad HocApp Store 安装,使用与有效开发人员许可证关联的 Provisioning Profile 进行签名。所以,没有办法绕过这个过程。然后,您可以决定是要通过 Apple 的 App Store 分发应用程序,还是如您所说的使用企业分发。但即便如此,您也需要注册开发者计划。

安卓

另一方面,对于 Android,这可以通过提供用户可以自行下载和安装的 APK 来实现。

【讨论】:

加 1 以获得好答案【参考方案4】:

对于 iOS,您必须使用 iOS 开发者企业计划

https://developer.apple.com/programs/ios/enterprise/

当您使用 Developer Enterprise Program 时,您可以在您的企业服务器上托管您的 .ipa 并为您的员工提供一个下载链接(该链接指向包含 .ipa 信息的 .plist。而不是指向 .ipa ,比如<a href="itms-services://?action=download-manifest&url=http://www.yourserver.com/yourapp.plist">Download</a>)

对于 android,您只需上传 .apk 并提供下载链接,但员工需要转到设置 -> 安全 -> 检查 Unknow origins

【讨论】:

【参考方案5】:

iOS

您无需提交应用程序。甚至在使用您自己的空中分配时验证它。我们的一些全球客户在不符合或不符合 VPP 计划资格的地区拥有用户(例如不久前的墨西哥)。相信我,Apple 会知道该应用程序的存在。您需要加入 Enterprise Developer 计划。您仍然需要以企业开发人员的身份进行签名和配置。您没有获得应用商店智能更新服务。你管理那个。最重要的是,如果您修改了与捆绑 ID 关联的配置文件或证书或它们过期,该应用程序将停止在安装它的所有设备上运行。这与 iTunes Connect 上提交的已批准应用程序有很大不同。从 Xcode 6 开始,您还必须使用显式 App ID。没有通配符。在这里查看我的答案: 0 Entitlements when Exporting App for Enterprise Distribution

您可以使用另一个答案中提到的 .plist 文件来提供 .ipa 文件。

<a href="itms-services://?action=download-manifest&url=https://www.yourserver.com/yourapp.plist">Download</a>

注意 https,不过它必须是 SSL。如果需要,您可以使用 dropbox 来处理此问题,如下所述:Enterprise app deployment doesn't work on iOS 7.1 Xcode 5 生成此 .plist 文件,但 Xcode 6 将不再为您创建 .plist。您可以使用此模板。 https://gist.github.com/alexcristea/4d922de3d416910dc847 如果我想到这些年来的任何其他警告我会更新(或者如果他们在没有告诉我们的情况下更改其他任何内容)

Enterprise App distribution

安卓

非常直接。链接到服务器上的 .apk 文件。用户可以在电子邮件或网站等中单击设备中的链接。或者使用使用该链接的二维码,他们只需扫描即可。告诉您的用户如何启用安全性,例如 amazon 在此处向他们的用户描述:http://www.amazon.com/gp/help/customer/display.html?nodeId=201482620 我只做这些。

及时行乐

【讨论】:

以上是关于从我的网站下载 iOS 和 Android 应用程序?的主要内容,如果未能解决你的问题,请参考以下文章

Android:从我的网站的收据页面检索付款信息

如何在 Android 上从我的应用程序启动 URL?

从我的 react-native 应用程序调用 UPI 应用程序在 iOS 中有效,但在 Android 中无效

如何从我的应用程序无缝地使用 ISA 代理进行身份验证?

在云端共享 iOS 和 Android 之间的本地化

如何在 IOS 中从我的 React-Native 应用程序打开外部应用程序?